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

最后恢复正常

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

相关推荐
架构师老Y2 小时前
008、容器化部署:Docker与Python应用打包
python·容器·架构
handsomestWei5 小时前
Docker引擎API接入配置
运维·http·docker·容器·api
键盘鼓手苏苏8 小时前
Kubernetes与GitOps高级实践
云原生·kubernetes·k8
不是书本的小明8 小时前
K8S应用优化方向
网络·容器·kubernetes
andeyeluguo10 小时前
docker总结
运维·docker·容器
SuAluvfy10 小时前
从 0 到 1:在 Windows + Docker 环境下搭建 NextChat 并接入多模型 API(踩坑实录)
docker·容器
九英里路10 小时前
cpp容器——string模拟实现
java·前端·数据结构·c++·算法·容器·字符串
Aray123411 小时前
论Serverless架构模式及其应用实践
云原生·架构·serverless
AI攻城狮11 小时前
OpenClaw 本地内存检索与 node-llama-cpp 的依赖关系深度解析
人工智能·云原生·aigc
尘世壹俗人11 小时前
知识点8---虚拟化编排工具Kubernetes
容器·kubernetes