因为k8s更新导致kubelet启动失败“command failed“ err=“failed to parse kubelet flag: unknown flag: --network-plug
分别查看master和node节点的k8s版本。可以在所有节点执行如下操作禁止k8s自动更新。master卸载重新安装相同版本k8s。master节点操作删除原来集群信息。node节点操作重新加入集群。
journalctl -u kubelet -e
Apr 09 20:58:28 master kubelet[3431]: E0409 20:58:28.139678 3431 run.go:74] "command failed" err="failed to parse kubelet flag: unknown flag: --network-plugin"
Apr 09 20:58:28 master systemd[1]: kubelet.service: main process exited, code=exited, status=1/FAILURE
Apr 09 20:58:28 master systemd[1]: Unit kubelet.service entered failed state.
Apr 09 20:58:28 master systemd[1]: kubelet.service failed.
Apr 09 20:58:38 master systemd[1]: kubelet.service holdoff time over, scheduling restart.
Apr 09 20:58:38 master systemd[1]: Stopped kubelet: The Kubernetes Node Agent.
Apr 09 20:58:38 master systemd[1]: Started kubelet: The Kubernetes Node Agent.
分别查看master和node节点的k8s版本
rpm -qa |grep kube
master卸载重新安装相同版本k8s
sudo yum remove kubeadm kubelet kubectl
yum install -y kubelet-1.19.3 kubeadm-1.19.3 kubectl-1.19.3 --disableexcludes=kubernetes
master节点操作删除原来集群信息
sudo rm -rf /etc/kubernetes/manifests/*.yaml
sudo rm -rf /var/lib/etcd
重新初始化集群
kubeadm init --apiserver-advertise-address=192.168.39.128 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.19.3 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.2.0.0/16 --service-dns-domain=cluster.local --ignore-preflight-errors=Swap --ignore-preflight-errors=NumCPU
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
node节点操作重新加入集群
kubeadm reset
kubeadm join 192.168.39.128:6443 --token h2m7fg.hkpievnu172ojqre --discovery-token-ca-cert-hash sha256:69a2ab7deeb18d06d49b64a8f84a5174a2de2b2ecbac16e36b085db8bd93c165
可以在所有节点执行如下操作禁止k8s自动更新
sudo yum install yum-plugin-versionlock
sudo yum versionlock add kubelet kubeadm kubectl
更多推荐
所有评论(0)