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

最后恢复正常

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

相关推荐
ysu_03141 小时前
【2026】K8s GPU调度空占怎么解?Kueue与Volcano Gang配置
云原生·kubernetes·gpu算力·volcano·ai基础设施·kueue·gang scheduling
哈__13 小时前
KES-Operator重塑Kubernetes环境下的KES数据库集群管理
数据库·kubernetes·operator·kes
九皇叔叔15 小时前
K8S 资源菜单
docker·容器·kubernetes·k8s
wdfk_prog16 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
Zhu75816 小时前
docker环境快速部署postgresql数据库18及以上版本
postgresql·容器
安易算力18 小时前
PUE优化工程实践:从1.5到1.2的制冷架构与气流组织改造路径
网络·python·容器·架构·kubernetes
小马同学-19 小时前
nerdctl实战:Docker风格的Containerd操作利器
docker·容器·containerd
九皇叔叔19 小时前
Kubernetes 命令式对象配置详解:使用 YAML 管理 Kubernetes 资源
docker·容器·k8s
萤火夜20 小时前
Docker(四) Docker介绍
docker·容器
.冰块.21 小时前
Docker 镜像深度学习:分层 Copy‑on‑Write、Dockerfile 语法、Harbor 私有仓库实操
docker·容器·harbor·镜像·dockerfile·images