故障现象
故障现象为服务IP可以PING通,但应用不能访问,查看kube-proxy组件报错(见下日志内容)。搜索报错内容可知这个问题升级到kubernetes 1.18 版本才出现的,在Kubernetes Github已有相关问题上报,Kubernetes 维护人员讨论分析出问题的原因可能是IPVS模块由于是比较新,需要系统内核版本支持,我在Centos7的最新版本上遇到这个问题,yum update kernel解决不了。
先讲结论:用Centos8.2替代Centos7.x即可解决,我已经试过了。
下面是这个问题的分析和生产环境解决建议。
分析过程
日志内容如下:
[root@node1 logs]# tail -20 kube-proxy.WARNING
E0703 13:49:39.609152 1393 proxier.go:1950] Failed to list IPVS destinations, error: parseIP Error ip=[192 168 50 65 0 0 0 0 0 0 0 0 0 0 0 0]
E0703 13:49:39.609230 1393 proxier.go:1192] Failed to sync endpoint for service: 10.244.0.1:443/TCP, err: parseIP Error ip=[192 168 50 65 0 0 0 0 0 0 0 0 0 0 0 0]
E0703 13:49:39.609564 1393 proxier.go:1950] Failed to list IPVS destinations, error: parseIP Error ip=[172 30 1 75 0 0 0 0 0 0 0 0 0 0 0 0]
E0703 13:49:39.60962