centerOS 7.5
master:
node:
负载均衡地址和端口:
首先,您需要安装keepalived
和haproxy
或kube-VIP
来生成一个VIP
地址,参考下面链接:
安装成功后,测试连接:
nc -v 10.0.19.1 8443
初始化控制平面(国内镜像源):
sudo kubeadm init --control-plane-endpoint "10.0.19.1:8443" \
--upload-certs \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=192.168.0.0/16
--upload-certs
用来将在所有控制节点实例之间的共享证书上传到集群。命令完成后,您应该会看到类似以下内容:
...
现在,您可以通过以下命令来加入任意数量的控制平面节点:
kubeadm join 10.0.19.1:8443 --token 9vr73a.a8uxyaju799qwdjv --discovery-token-ca-cert-hash sha256:7c2e69131a36ae2a042a339b33381c6d0d43887e2de83720eff5359e26aec866 --control-plane --certificate-key f8902e114ef118304e561c3ecd4d0b543adc226b7a07f675f56564185ffe0c07
请注意,证书密钥可以访问集群内敏感数据,请保密!
为了安全起见,将在两个小时内删除上传的证书; 如有必要,您可以使用 kubeadm 初始化上传证书阶段,之后重新加载证书。
然后,您可以通过以下命令来加入任意数量的工作节点:
kubeadm join 10.0.19.1:8443 --token 9vr73a.a8uxyaju799qwdjv --discovery-token-ca-cert-hash sha256:7c2e69131a36ae2a042a339b33381c6d0d43887e2de83720eff5359e26aec866
将此输出复制到文本文件中。稍后您将需要它来将控制平面节点
和工作节点
加入集群。
kubeadm join 10.0.19.1:8443 --token 9vr73a.a8uxyaju799qwdjv --discovery-token-ca-cert-hash sha256:7c2e69131a36ae2a042a339b33381c6d0d43887e2de83720eff5359e26aec866 --control-plane --certificate-key f8902e114ef118304e561c3ecd4d0b543adc226b7a07f675f56564185ffe0c07
kubeadm join 10.0.19.1:8443 --token 9vr73a.a8uxyaju799qwdjv --discovery-token-ca-cert-hash sha256:7c2e69131a36ae2a042a339b33381c6d0d43887e2de83720eff5359e26aec866
要重新上传证书并生成新的解密密钥,请在已加入集群节点的控制平面上使用以下命令:
sudo kubeadm init phase upload-certs --upload-certs
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.0/manifests/tigera-operator.yaml
## 注意,如果你init配置的是 --pod-network-cidr=192.168.0.0/16,那就不用改,直接运行即可,否则你需要把文件先下下来来,改成你配置的,在创建
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.0/manifests/custom-resources.yaml
当以上操作全部完成之后,可执行
kubectl get pods -A
确认所有组件都是Running
状态。
然后输入:
kubectl get nodes
确认所有节点节点为Ready
。