0
点赞
收藏
分享

微信扫一扫

Kubelet 客户端证书轮换失败的处理方案(高可用)

1、确定故障节点 故障进行操作:

cp /etc/kubernetes/kubelet.conf /etc/kubernetes/kubelet.conf.bak

rm -f /etc/kubernetes/kubelet.conf 

cp /var/lib/kubelet/pki/kubelet-client* /var/lib/kubelet/pki/kubelet-client*.bak

rm -f /var/lib/kubelet/pki/kubelet-client*

2、去任意一个正常的节点,高可用另外正常的2个节点二选一 确认:/etc/kubernetes/pki/ca.key 文件存在 在这个正常节点下执行以下命令

kubeadm kubeconfig user --config=/etc/kubernetes/kubeadm-config.yaml --org system:nodes --client-name system:node:$NODE > kubelet.conf。 
#  $NODE 必须设置为集群中现有故障节点的名称。 手动修改生成的 kubelet.conf 以调整集群名称和服务器端点
#--config=/etc/kubernetes/kubeadm-config.yaml ,根据你的kubeadm-config.yaml文件存在位置而定,确认好kubeadm-config.yaml里面的IP以及name,如果是集群外来文件记得改好再用

2.png

3、将得到的 kubelet.conf 文件复制到故障节点上,作为 /etc/kubernetes/kubelet.conf 接着,在故障节点上重启 kubelet(systemctl restart kubelet),等待 /var/lib/kubelet/pki/kubelet-client-current.pem 重新创建。

4、手动编辑 kubelet.conf 指向轮换的 kubelet 客户端证书,方法是将 client-certificate-data 和 client-key-data 替换为:

client-certificate: /var/lib/kubelet/pki/kubelet-client-current.pem
client-key: /var/lib/kubelet/pki/kubelet-client-current.pem

1.png 5、再次重启kubelet

6、等待集群ready即可

举报

相关推荐

0 条评论