k8s集群的calico-node的守护容器探测异常Liveness probe failed: Get http://localhost:9099/liveness

文章讲述了K8s集群中calico-node节点偶发的livenessprobe探测异常问题,原因在于calico-node容器尝试通过ipv6访问localhost失败。解决方法是将livenessprobe的localhost地址改为ipv4的127.0.0.1并重启容器。
摘要由CSDN通过智能技术生成

背景:

k8s集群正常运行过程中偶发的出现calico-node节点容器探测异常的问题,出现之后会导致宿主机所在的容器也会相应的出现网络波动,但是都是过一会儿就自动就好了,。

​
Liveness probe failed: Get http://localhost:9099/liveness: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

​

故障分析:

分析的时候发现对应的calico-node节点容器是正常的:

[root@master-01 ~]# kubectl describe pods calico-node-mlekb -n kube-system
Name:                 calico-node-mlekb
Namespace:            kube-system
Priority:             2000001000
Priority Class Name:  system-node-critical
Node:                 pro-slave-12/192.20.66.22
Start Time:           Wed, 21 Dec 2022 14:57:38 +0800
Labels:               component=calico
                      controller-revision-hash=74c5ff99d4
                      k8s-app=calico
                      pod-template-generation=1
Annotations:          kubernetes.io/psp: system
Status:               Running
.........

同时describe查看的内容只有探测告警的内容:

然后登入倒calico-node容器上去执行curl时也是正常的

但是让专家分析的时候说在calico-node节点容器里访问localhost的时候会走ipv6的网络,并且是失败的情况。经过提醒确实是这样的:

然后去检查calico的ippools的配置:

发现k8s集群的calico只有启用了ipv4的地址池,同时查看calico.yaml文件的configmap有开启ipv6配置:

 

问题处理:

既然localhost的解析会解析到ipv6的地址上去,那就可以将livenss探针的配置localhost修改为127.0.0.1的地址,然后重启一下calico-node容器就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiang0615csdn

你对鼓励是我最大的动力来源

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值