k8s主节点无法启动
背景
发现3主集群的k8s,其中有一台负载特别高,top看的话也没有发现使用特别高的进程,最后打算在使用低峰期重启这台故障节点,(因为是3主高可用,挂掉一台也不影响集群使用)
问题
重启服务器后发现负载确实降低,但是发现etcd起不来了,导致 apiserver也没起来,kubelet正常
看了下etcd的pod也没有明显的error日志
解决
经过一系列排查后准备重装节点。
主节点执行 获取token
[root@d0 devops]# kubeadm token create --print-join-command
kubeadm join 10.104.7.126:8443 --token wtjtei.bp9y5uwwi7xl7ulo --discovery-token-ca-cert-hash sha256:1538cdf00ac41c172516b73c00be7a17deb6aacf1028c8c1xxxxxxxxxx
[root@d0 devops]# kubeadm init phase upload-certs --upload-certs
I0706 11:52:50.031902 50811 version.go:254] remote version is much newer: v1.24.2; falling back to: stable-1.20
[upload-certs] Storing the certificates in Secret "kubeadm-certs" in the "kube-system" Namespace
[upload-certs] Using certificate key:
49cbc5114852fd93a1fde31ee1fd11dc397xxxxxxxxxxxxxx
故障节点执行
# 加入之前,还需要将节点从集群中剔除,再重新添加
kubeadm reset
mkdir /tmp/k8s-bak
mv /etc/kubernetes/manifests /etc/kubernetes/kubelet.conf /etc/kubernetes/pki/ca.crt /tmp/k8s-bak
kubeadm join 10.104.7.126:8443 --token wtjtei.bp9y5uwwi7xl7ulo --discovery-token-ca-cert-hash sha256:1538cdf00ac41c172516b73c00be7a17deb6aacf1028c8c1xxxxxxxxxx --control-plane --certificate-key 49cbc5114852fd93a1fde31ee1fd11dc397xxxxxxxxxxxxxx --v=5
kubeadm 重置节点后在加入报etcd错误:https://blog.csdn.net/BY_xiaopeng/article/details/123742175