K8S集群问题排查汇总
节点状态为Not Ready
# 查看节点状态
kubectl describe node k8s-node1
状态可以看到有以下异常的信息
- NodeHasSufficientDisk:表示这个节点没有空闲的磁盘空间了,已经不能在上面创建POD了。
- NodeHasSufficientMemory:表示这个节点上可用内存已经很少了。
- NodeHasNoDiskPressure:表示这个节点上可用磁盘空间已经很少了。
解决掉对应问题之后重启服务
k3s集群模式下ClusterIP无法访问node节点pod问题
问题描述,master节点可以ping通node节点ip,部署控制器和service后,通过ClusterIP测试pod负载均衡,master节点上的pod可以通过curl访问,node节点上的pod访问超时。
通过推断应该是请求转发出现了问题,最后找到一个相关issue,issue中说明是vxlan转发存在异常,而k3s安装的时候默认就是使用了flannel vxlan模式进行转发。
解决办法:重新安装k3s集群,设置flannel为host-gw模式--flannel-backend=host-gw
,问题解决。官方参考文档https://docs.k3s.io/zh/installation/network-options