k8s重启后报错Error getting node not found

今天升级一台3主的k8s集群的配置。升级其中一台后另外两个节点就出现Not Ready的状态。

升级之前最好把一些能停的应用停掉。或者能够通过增加临时节点来进行扩容,不然所有pod调度到其他节点,可能把其他节点压垮。没办法,只能把其他两台直接升级配置,然后重启。重启之后三台中有两台Not Ready。节点的Not Ready的凭据是kubelet上报的数据,所以首先重启下kubelet:

systemctl restart kubelet

重启后依然是Not Ready, 于是在Not Ready的节点上查看kubelet的日志:

复制代码
# 查看Kubelet的所有日志
sudo journalctl -u kubelet

# 查看最近的Kubelet日志
sudo journalctl -u kubelet -r

# 查看最近两小时的Kubelet日志
sudo journalctl -u kubelet --since "2 hours ago"

发现报错:

"Error getting node" err="node \"txbj-164020-prod-tb-kubelet\" not found"

于是对比现在的主机名,发现确实不一样,于是使用hostnamectl修改主机名并重启kubelet:

复制代码
hostnamectl set-hostname txbj-164020-prod-tb-kubelet
systemctl restart kubelet

最后恢复正常

但是不知道为什么在控制台重启后主机名为什么会变,总之把我搞紧张了。

相关推荐
鸠摩智首席音效师3 小时前
如何使用 docker exec 在容器中运行命令 ?
运维·docker·容器
cool32005 小时前
Kubernetes基础入门教程
容器·云计算·k8s
水星灭绝5 小时前
win11+wsl2+docker
运维·docker·容器
阿里云云原生8 小时前
【昨晚 17:00】模力工场联合 HiClaw,聊聊怎么把虾场管明白
云原生
小陈工10 小时前
2026年3月24日技术资讯洞察:边缘AI商业化,Java26正式发布与开源大模型成本革命
java·运维·开发语言·人工智能·python·容器·开源
vpk11210 小时前
使用 Docker Compose 快速安装 MongoDB
mongodb·docker·容器
阿里云云原生10 小时前
连登顶会!阿里云多项研究成果大幅提升运维智能精度与效率
云原生
培小新11 小时前
五、Dokcer网络
linux·运维·docker·容器
阿里云云原生11 小时前
从养一只虾到开好虾场,HiClaw 规模化养虾的详细解读
云原生