附034.Kubernetes_v1.21.0高可用部署架构二 (5)

提示:如上仅需Master01节点操作,从而实现所有节点镜像的分发。
注意相关版本,如上脚本为v1.21.0 Kubernetes版本所需镜像。

[root@master01 ~]# ctr -n k8s.io images ls #确认验证 [root@master01 ~]# crictl images ls

001

Master01上初始化 [root@master01 ~]# kubeadm init --config=kubeadm/kubeadm-config.yaml --upload-certs #保留如下命令用于后续节点添加: You can now join any number of the control-plane node running the following command on each as root: kubeadm join 172.24.8.100:16443 --token 6h8ncy.g0lzrgiav8ct7kyo \ --discovery-token-ca-cert-hash sha256:41c1966aa5aaf6108b938daf3bdcf103991be5fd8141854f800a4bbc3df7979a \ --control-plane --certificate-key f32602ab63d2545b8cab5d392d0e53942872fac8cfc23c8ae1ee545f4e365394 Please note that the certificate-key gives access to cluster sensitive data, keep it secret! As a safeguard, uploaded-certs will be deleted in two hours; If necessary, you can use "kubeadm init phase upload-certs --upload-certs" to reload certs afterward. Then you can join any number of worker nodes by running the following on each as root: kubeadm join 172.24.8.100:16443 --token 6h8ncy.g0lzrgiav8ct7kyo \ --discovery-token-ca-cert-hash sha256:41c1966aa5aaf6108b938daf3bdcf103991be5fd8141854f800a4bbc3df7979a

002

注意:如上token具有默认24小时的有效期,token和hash值可通过如下方式获取:
kubeadm token list
如果 Token 过期以后,可以输入以下命令,生成新的 Token:

kubeadm token create openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //' [root@master01 ~]# mkdir -p $HOME/.kube [root@master01 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config [root@master01 ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config [root@master01 ~]# cat << EOF >> ~/.bashrc export KUBECONFIG=$HOME/.kube/config EOF #设置KUBECONFIG环境变量 [root@master01 ~]# echo "source <(kubectl completion bash)" >> ~/.bashrc [root@master01 ~]# source ~/.bashrc

附加:初始化过程大致步骤如下:

[certs]:生成相关的各种证书

[control-plane]:创建Kubernetes控制节点的静态Pod

[etcd]:创建ETCD的静态Pod

[kubelet-start]:生成kubelet的配置文件”/var/lib/kubelet/config.yaml”

[kubeconfig]:生成相关的kubeconfig文件

[bootstraptoken]:生成token记录下来,后续使用kubeadm join往集群中添加节点时会用到

[addons]:附带的相关插件

提示:初始化仅需要在master01上执行,若初始化异常可通过kubeadm reset && rm -rf $HOME/.kube重置。

添加Master节点 [root@master02 ~]# kubeadm join 172.24.8.100:16443 --token 6h8ncy.g0lzrgiav8ct7kyo \ --discovery-token-ca-cert-hash sha256:41c1966aa5aaf6108b938daf3bdcf103991be5fd8141854f800a4bbc3df7979a \ --control-plane --certificate-key f32602ab63d2545b8cab5d392d0e53942872fac8cfc23c8ae1ee545f4e365394 [root@master02 ~]# mkdir -p $HOME/.kube [root@master02 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config [root@master02 ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config [root@master02 ~]# cat << EOF >> ~/.bashrc export KUBECONFIG=$HOME/.kube/config EOF #设置KUBECONFIG环境变量 [root@master02 ~]# echo "source <(kubectl completion bash)" >> ~/.bashrc [root@master02 ~]# source ~/.bashrc

提示:master03也如上执行添加至集群的controlplane。
若添加异常可通过kubeadm reset && rm -rf $HOME/.kube重置。

安装NIC插件 NIC插件介绍

Calico 是一个安全的 L3 网络和网络策略提供者。

Canal 结合 Flannel 和 Calico, 提供网络和网络策略。

Cilium 是一个 L3 网络和网络策略插件, 能够透明的实施 HTTP/API/L7 策略。 同时支持路由(routing)和叠加/封装( overlay/encapsulation)模式。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzfyz.html