kubernetes集群节点Not Ready问题排查

0 现象

搭建的kubernetes集群,其中Master节点为Ready状态,另外一个节点为Not Ready状态
在这里插入图片描述

1 解决思路

systemctl status kubelet.service

查看当前节点hik-2的状态,发现是loaded状态
在这里插入图片描述
错误原因:

Process: 11571 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS
$KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
(code=exited, status=255)

执行命令,查看相关日志内容

journalctl -f -u kubelet.service

在这里插入图片描述
发现问题:
kubelet.service: main process exited, code=exited, status=255/n/a

2 解决办法

临时解决,禁用linux服务器swap交换内存

# swapoff -a

永久解决,打开 /etc/fstab文件,并注释掉swap那一行
在这里插入图片描述
此时再执行命令,发现节点已经READY了

kubectl get node 

在这里插入图片描述
执行状态查看命令也可以看到当前kubelet状态已经是active状态了

systemctl status kubelet

在这里插入图片描述

当遇到k8snode节点notready问题时,可以按照以下步骤进行排查和解决: 1. 检查节点状态:使用命令 `kubectl get nodes` 检查节点状态,确保节点处于 `Ready` 状态。如果节点状态为 `NotReady`,则表示存在问题。 2. 检查节点事件:使用命令 `kubectl describe node <node-name>` 查看节点的事件,以了解是否有任何故障或异常情况。 3. 检查kubelet日志:使用命令 `journalctl -u kubelet -n 100` 查看kubelet的日志,以查找任何与节点notready相关的错误或警告信息。 4. 检查容器运行时日志:如果使用的是Docker作为容器运行时,可以使用命令 `journalctl -u docker -n 100` 查看Docker的日志。如果使用的是其他容器运行时,可以查找相应的日志文件。 5. 检查网络配置:确保节点能够与其他节点和控制平面正常通信。检查网络配置是否正确,并确保防火墙规则没有阻止必要的流量。 6. 检查资源使用情况:检查节点的资源使用情况,例如CPU、内存、存储等。确保节点上的资源充足以正常运行Pod。 7. 检查配置文件:检查节点的配置文件,例如kubelet配置文件、节点标签等。确保配置文件没有错误,并且节点的配置与集群的要求一致。 8. 重启kubelet服务:尝试重启kubelet服务,可以使用命令 `sudo systemctl restart kubelet`。重启后,观察节点状态是否变为Ready。 9. 联系硬件供应商:如果怀疑节点故障,例如硬件故障或操作系统崩溃,可以联系硬件供应商寻求支持。 10. 检查其他组件:如果以上步骤都没有解决问题,可以检查其他与节点相关的组件,例如网络插件、存储插件等。 在排查问题时,可以结合使用多个命令和工具,以获取更全面的信息和诊断结果。根据具体的情况,可能需要进一步查找相关文档或寻求社区的帮助来解决问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值