1. 程式人生 > 其它 >2021 CCPC 網路重賽題解

2021 CCPC 網路重賽題解

一、刪除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 : --discovery-token-ca-cert-hash sha256: 

由於預設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發現已經加入到叢集了。