2021 CCPC 網路重賽題解
阿新 • • 發佈:2021-10-10
一、刪除node節點
1、先檢視一下這個node節點上的pod資訊
kubectl get nodes
2、驅逐這個node節點上的pod
kubectl drain node01 --delete-local-data --force --ignore-daemonsets
3、刪除這個node節點
kubectl delete nodes node01
4、然後在node06這個節點上執行如下命令:
kubeadm reset systemctl stop kubelet systemctl stop docker rm -rf /var/lib/cni/ rm -rf /var/lib/kubelet/* rm -rf /etc/cni/ ifconfig cni0 down ifconfig flannel.1 down ifconfig docker0 down ip link delete cni0 ip link delete flannel.1 systemctl start docker systemctl start kubelet
如果不做上面的操作的話會導致這個節點上的pod無法啟動,具體報錯資訊為:networkPlugin cni failed to set up pod "alertmanager-main-1_monitoring" network: failed to set bridge ad has an IP address different from 10.244.5.1/24 ,意思是已經叢集網路cni已經有一個不同於10.244.51.1/24 的網路地址,所以需要執行上述命令重置節點網路。
二、重新加入這個node節點
節點加入叢集的命令格式:kubeadm join --token
由於預設token的有效期為24小時,當過期之後,該token就不可用了,解決方法如下:
重新生成新的token ==> kubeadm token create
1.檢視當前的token列表
kubeadm token list
2.重新生成新的token
kubeadm token create
3.再次檢視當前的token列表
kubeadm token list
4.獲取ca證書sha256編碼hash值
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
5.節點加入叢集
kubeadm join 39.96.46.96:6443 --token 369tcl.oe4punpoj9gaijh7(**新的token**) --discovery-token-ca-cert-hash sha256:7ae10591aa593c2c36fb965d58964a84561e9ccd416ffe7432550a0d0b7e4f90(**ca證書sha256編碼hash值**)
再次在master節點檢視node發現已經加入到叢集了。