kubelet日志报错Unable to register node xxx with API server nodes xxx is forbidden cannot modify node xxx 排查思路

  其他常见问题
内容纲要

概要描述

本文描述出现kubelet注册失败,日志报错Unable to register node xxx with API server nodes xxx is forbidden cannot modify node xxx的排查思路

详细描述

问题背景 & 问题描述

集群manager退役了两个节点,然后做了删除,两个节点修改了hostname之后,重新扩容进本集群
ip:10.140.0.41 原hostname: dc02-tdc-tdh08.tdh.xwbank.com 新hostname:dc02-tdc-tdh41.tdh.xwbank.com
ip:10.140.0.42 原hostname: dc02-tdc-tdh09.tdh.xwbank.com 新hostname: dc02-tdc-tdh42.tdh.xwbank.com
该命令下没有新扩容的节点信息

kubectl get nodes -owide

file

kubelet日志报错

Unable to register node xxx with API server nodes xxx is forbidden cannot modify node xxx

file

排查思路

1 hosts文件确认

确认各个节点/etc/hosts /etc/transwarp/conf/hosts 里面的hostname已经修改成新的hostname
进入apiserver,确认apiserver内部/etc/hosts 已经被修改生效
file

2 对比/opt/kubernetes/kubelet-config.yaml

对比这个文件和其他正常节点是否一致

3 对比/usr/lib/systemd/system/kubelet.service

对比这个文件除了node-ip和其他节点是否一致
file

4 对比/var/lib/kubelet/pki/ 下的内容,查看证书

kubelet-client-current.pem 链接到的 kubelet-client-2024-10-28-14-07.pem 签发不正确,使用了node:dc02-tdc-tdh08.tdh.xwbank.com 是老的hostname信息

cd /var/lib/kubelet/pki/
openssl x509 -text -in kubelet-client-xxxxxxxx.pem

file

解决方案

在有问题的41和42节点上 备份/var/lib/kubelet/pki 然后清空,,然后通过 systemctl restart kubelet 恢复正常。

cp -r  /var/lib/kubelet/pki  /var/lib/kubelet/pki_bak
rm -rf  /var/lib/kubelet/pki/*
systemctl restart kubelet

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。