deploy kubernetes binaries with ansible
This project will used ansible to deployment kubernetes.
Read the documentation to see how the project is used
kubeasy
passed the cncf conformance test, because k8s-conformance does not allow submission of personal projects, please check here for details
all node please install python.
Kubernetes | Etcd | Docker | Containerd | CNI | CoreDNS | metrics-server | pause |
---|---|---|---|---|---|---|---|
1.14.x | v3.3.10 | v19.03.9 | v1.5.13 | v0.7.5 | v1.3.1 | v0.5.2 | 3.1 |
1.15.x | v3.3.10 | v19.03.9 | v1.5.13 | v0.7.5 | v1.3.1 | v0.5.2 | 3.1 |
1.16.x | v3.3.15 | v19.03.9 | v1.5.13 | v0.7.5 | v1.6.2 | v0.5.2 | 3.1 |
1.17.x | v3.4.3 | v19.03.9 | v1.5.13 | v0.7.5 | v1.6.5 | v0.5.2 | 3.1 |
1.18.x | v3.4.3 | v19.03.9 | v1.5.13 | v0.8.5 | v1.6.7 | v0.5.2 | 3.2 |
1.19.x | v3.4.13 | v19.03.9 | v1.5.13 | v0.8.6 | v1.7.0 | v0.5.2 | 3.2 |
1.20.x | v3.4.13 | v19.03.9 | v1.5.13 | v0.8.7 | v1.7.0 | v0.6.1 | 3.2 |
1.21.x | v3.4.13 | v20.10.17 | v1.5.13 | v1.1.1 | v1.8.0 | v0.6.1 | 3.4.1 |
1.22.x | v3.5.0 | v20.10.17 | v1.6.15 | v1.1.1 | v1.8.4 | v0.6.2 | 3.5 |
1.23.x | v3.5.1 | v20.10.17 | v1.6.15 | v1.2.0 | v1.8.6 | v0.6.2 | 3.6 |
1.24.x | v3.5.3 | N/A | v1.6.15 | v1.2.0 | v1.8.6 | v0.6.2 | 3.6 |
1.25.x | v3.5.4 | N/A | v1.6.15 | v1.2.0 | v1.9.3 | v0.6.2 | 3.8 |
1.26.x | v3.5.6 | N/A | v1.6.15 | v1.2.0 | v1.9.3 | v0.6.2 | 3.9 |
The playbook depends on python2
or python3
, all nodes need to install python
Gitee: https://gitee.com/buxiaomo/kubeasy.git
Gitlab: https://gitlab.com/buxiaomo/kubeasy.git
Github: https://github.com/buxiaomo/kubeasy.git
JiHulab: https://jihulab.com/buxiaomo/kubeasy.git
# ubuntu
apt-get update
apt-get install git make -y
# centos
yum install git make vim -y
# Install ansible
git clone -b v1.26 https://github.com/buxiaomo/kubeasy.git /usr/local/src/kubeasy
cd /usr/local/src/kubeasy
cd /usr/local/src/kubeasy
make runtime
Please modify the parameters on group_vars
directory if you need
cd /usr/local/src/kubeasy
make hosts
for example:
[master]
172.16.114.11
172.16.114.12
172.16.114.13
[worker]
172.16.114.14
172.16.114.15
172.16.114.16
172.16.114.17
[kubernetes:children]
master
worker
[kubernetes:vars]
; kubernetes network config
networking={"dnsDomain": "cluster.local", "serviceSubnet": "10.96.0.0/12", "podSubnet": "10.244.0.0/16"}
; ha config
; slb is software load balancing, will install harpoxy and keepalived on master node
; clb is cloud load balancing, will use cloud load balancing
ha={"type": "slb", "vip": "172.16.114.10", "mask": 16 }
; loadBalancing is 4 layer forwarding to ingress by haproxy, only used in slb
loadBalancing={"http": {"src": 80, "dest": 30001}, "https": {"src": 443, "dest": 30002}}
[all:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_pass=root
# ansible_sudo_user=root
# ansible_sudo_pass=root
For more instructions reference inventory/README.md
cd /usr/local/src/kubeasy
make deploy
cd /usr/local/src/kubeasy
make scale
cd /usr/local/src/kubeasy
make update
cd /usr/local/src/kubeasy
make renew
For version upgrades, reference here
cd /usr/local/src/kubeasy
git pull
git checkout v1.27
make upgrade KUBE_VERSION=<New Version>
Offline installation is divided into the following four files, Download the corresponding files for your needs.
If use the kubeasy-offline-v${KUBEASY_VERSION}.tar.gz, you need a deployment server. docker restarts and the deployment container is aborted because the installed docker and kubeasy methods are different.
KUBEASY_VERSION=1.26.0
wget https://github.com/buxiaomo/kubeasy/releases/download/v${KUBEASY_VERSION}/kubeasy-v${KUBEASY_VERSION}.tar.gz -O /usr/local/src/kubeasy-v${KUBEASY_VERSION}.tar.gz
tar -zxf /usr/local/src/kubeasy-v${KUBEASY_VERSION}.tar.gz -C /usr/local/src
wget https://github.com/buxiaomo/kubeasy/releases/download/v${KUBEASY_VERSION}/kubeasy-registry-v${KUBEASY_VERSION}.tar.gz -O /usr/local/src/kubeasy/scripts/src/kubeasy-registry-v${KUBEASY_VERSION}.tar.gz
wget https://github.com/buxiaomo/kubeasy/releases/download/v${KUBEASY_VERSION}/kubeasy-binary-v${KUBEASY_VERSION}.tar.gz -O /usr/local/src/kubeasy/scripts/src/kubeasy-binary-v${KUBEASY_VERSION}.tar.gz
cd /usr/local/src/kubeasy
ls -l ./scripts/src/
make runtime
make hosts
make prepare
make deploy REGISTRY_URL=http://<IP Addr>:5000
KUBEASY_VERSION=1.26.0
wget https://github.com/buxiaomo/kubeasy/releases/download/v${KUBEASY_VERSION}/kubeasy-offline-v${KUBEASY_VERSION}.tar.gz -O /usr/local/src/kubeasy-offline-v${KUBEASY_VERSION}.tar.gz
tar -zxf /usr/local/src/kubeasy-offline-v${KUBEASY_VERSION}.tar.gz -C /usr/local/src
cd /usr/local/src/kubeasy-offline-v${KUBEASY_VERSION}
./main.sh