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

最后恢复正常

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

相关推荐
SelectDB技术团队15 小时前
ClickHouse 支持存算分离吗?Doris 社区版原生存算分离怎么落地
数据库·clickhouse·云原生·开源·apache doris·技术选型·存算分层
正经教主15 小时前
【FDE系列】阶段2:Day 43(UP详细版):Docker Compose — 多容器一键编排
运维·docker·容器
csdn_aspnet15 小时前
构建、运行与管理容器的 18 个常用 Docker 命令
docker·容器·eureka·command
木雷坞15 小时前
AnythingLLM Docker部署:中文资料上传后无引用的检查路径
运维·docker·容器
暖核15 小时前
K8s 深度拆解:健康检查、认证授权与可视化面板全梳理
云原生·容器·kubernetes
分布式存储与RustFS15 小时前
十分钟在自己机器上跑通一个 S3 兼容对象存储(RustFS + Docker)
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
知已难寻16 小时前
00 · OpenStack 总纲——从云计算到 OpenStack 全景
运维·服务器·云原生·云计算·负载均衡·openstack·perl
小白的码BUG之路16 小时前
K8S -- 集群搭建环境基础
java·服务器·kubernetes
2301_7807896616 小时前
SSL 卸载 + WAF + 抗 D:高防 CDN 一站式解决 HTTPS 性能与安全
网络·云原生·ddos
艾伦_耶格宇16 小时前
【kubernetes - 1.28版本】-4 containerd与docker-ce 的区别
docker·容器·kubernetes