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

最后恢复正常

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

相关推荐
Y3815326627 小时前
Docker Compose 服务依赖与健康检查:healthcheck 让容器按正确顺序启动
运维·docker·容器
2601_965235488 小时前
快速了解docker
docker·容器·dubbo
李昊哲小课9 小时前
Deepin 25 上安装 Docker CE 实战记录
运维·docker·容器·deepin
重生之我来学Python11 小时前
Docker套装的简介、安装、超级详细教程
linux·docker·容器·eureka·github
大大大大晴天️13 小时前
用 Helm、CRD 与 Operator 管大数据:声明式运维如何替代脚本化部署
大数据·云原生
LRL_14 小时前
深入浅出 Kubernetes 控制器:Deployment 与 StatefulSet 核心区别全景图
云原生·容器·kubernetes
起名真的太难了15 小时前
Docker 项目部署
docker·容器·eureka
MrSYJ15 小时前
Network Namespace 到底是个啥,别人再问你告诉他
docker·云原生·kubernetes
彬冷的心18 小时前
K8s 部署若依项目 + Harbor 私有仓库(双节点版)
云原生·容器·kubernetes
convee_ai18 小时前
Agent 执行为什么需要独立 Sandbox:拆解 Hullwork 的 gVisor 隔离
架构·kubernetes