您现在的位置是:热点 >>正文
记一次 Kubernetes 网络故障深度追踪
热点003399人已围观
简介...
某天晚上,客户碰到了 Kubernetes 集群一直扩容失败,所有的节点都无法正常加入集群。在经过多番折腾无解后,反馈到我们这里进行技术支持。这个问题的整个排查过程比较有意思,所以对其中的排查思路和用到的方法进行整理分享。
问题现象
运维同学在对客户的 Kubernetes 集群进行节点扩容时,发现新增的节点一直添加失败。该同学进行了初步的排查如下:
在新增节点上,访问 Kubernetes mast记一er service vip 网络不通 在新增节点上,直接访问 Kubernetes master hostIP + 6443 网络正常 在新增节点上,访问其他节点的容器 IP 可以正常 ping 通 在新增节点上,访问 coredns service vip 网络正常
该客户使用的 Kubernetes 版本是 1.13.10,宿主机的内核版本是 4.18(CentOS 8.2)。
问题排查过程
收到该一线同事的反馈,我们已经初步怀疑是次 IPVS 的问题。根据以往网络问题排查的经验,先对现场做了些常规排查:
确认内核模块 ip_tables 是否加载(正常) 确认 iptable forward 是否默认 accpet (正常) 确认宿主机网络是否正常(正常) 确认容器网络是否正常(正常) ……
排除了常规的问题之后,基本可以缩小范围,再继续基于 IPVS 相关层面进行排查。
通过 ipvsadm 命令排查
10.96.0.1 是客户集群 Kubernetes masteKur service vip。
可以发现有异常连接,处于 SYN_RECV 的状态,并且可以观察到,启动时 kubelet + kube-proxy 是有正常建连的,说明是在启动之后,Kubernetes service 网络出现异常。
tcpdump 抓包分析
两端进行抓包,并通过 telnet 10.96.0.1 443 命令进行确认。
结论:发现 SYN 包在本机没有发送出去。
初步总结
通过上面的排查,可以再次缩小范围,问题基本就be在 kube-proxy 身上。我们采用了 IPVS 模式,也会依赖了 iptables 配置实现一些网络的转发、SNAT、drop 等等。
根据上面的排查过程,我们又缩小了范围,开始分析怀疑对象 kube-proxy。
查看 kube-proxy 日志
发现异常日志,iptables-restore 命令执行异常。通过 Google、社区查看,确认问题。
继续深入
通过代码查看(1.13.10 版本 pkg/proxy/rnipvs/proxier.go:1427),可以发现该版本确实没有判断 KUBE-MARK-DROP 是否存在并创建的逻辑。当出现该链不存在时,会出现逻辑缺陷,导致 iptable 命令执行失败。
Kubernetes master service vip 不通,但是实际容器相关的 IP 是通的原因,与下面这条 iptable 规则有关:
iptable -t nat -A KetUBE-SERVICES ! -s 9.0.0.0/8 -m comment --comment "Kubernetes service cluster ip + port for masquerade purpose" -m&nbessp;set --match-set KUBE-CLUSTER-IP dst,dst -j KUBE-MARK-MASQ 根因探究
前面我们已经知道了 kube-proxy 1.13.10 版本存在缺陷,在没有创建 KUBE-MARK-DROP 链的情况下,执行 iptables-restore 命令配置规则。但是为何 Kubernetes 1.13 网.10 版本跑在 CentOS 8.2 4.18 内核的操作系统上会报错,跑在 CentOS 7.6 3.10 内核的操作系统上却正常呢?
查看下 kube-proxy 的源码,可以发现 kube-proxy 其实也就是执行 iptables 命令进行规则配置。那既然 kube-proxy 报错 iptables-restore 命令失败,我们就找一台 4.18 内核的机器,进入 kube-proxy 容器看下情况。
到容器内执行下 i络故ptables-save 命令,可以发现 kube-proxy 容器内确实没有创建 KUBE-MARK-DROP 链(符合代码预期)。继续在宿主机上执行下 iptables-save 命令,却发现是有 KUBE-MARK-DROP 链。
这里有两个疑问:
为何 4.18 内核宿主机的 iptables 有 KUBE-MARK-DROP 链? 为何 4.18 内核宿主机的 iptables 规则和 kube-proxy 容器内的规则不一致障深?
第一个疑惑,凭感觉怀疑除了 kube-proxy,还会有别的程序在操作 iptables,继续撸下 Kubernetes 代码。
结论:发现确实除了 kube-proxy,还有 kubelet 也会修改 iptables 规则。具体代码可以查看 pkg/kubelet/kubelet_network_linux.go
第二个疑惑,继续凭感觉吧。Google 一发捞一下为何 kube-proxy 容器挂载了宿主机 /r度追un/xtables.lock 文件的情况下,宿主机和容器 iptables 查看的规则不一致。
结论:CentOS 8 在网络方面摒弃 iptables 采用 nftables 框架作为默认的网络包过滤工具。
至此,所有的谜团都解开了。
团队完成过大量的客户项目交付,还是有些问题可以再解答下:
问题一:为何这么多客户环境第一次碰到该情况?因为需要 Kubernetes 1.13.10 + centos 8.2 的操作系统记一,这个组合罕见,且问题是必现。升级 Kubernetes 1.16.0+ 就不会有该问题。 问题二:为何使用 Kubernetes 1.13.10 + 5.5 内核却没有该问题?
因为那是与 CentOS 8 操作系统有关,我们手动升级 5.5 版本后,默认还是使用的 iptables 框架。
可以通过 iptables -v 命令来确认,是否使用了 nftables。
nftables 是何方神圣?比 iptables 好么?这是另一个值次 得进一步学习的点,这里就不再深入了。
解决方法
针对以上的排查问题,我们总结下解决方法:
调整内核版本到 3.10(CentOS 7.6+),或者手动升级内核版本到 5.0 +; 升级 Kubernetes 版本,当前确认 1.16.10+ 版本没有该问题。 【责任编辑:未丽燕 TEL:(010)68476606】
点赞 0
Tags:
相关文章
美国国防部取消授予微软的价值100亿美元云计算合同
热点7月7日消息,据国外媒体报道,当地时间周二,美国国防部取消了授予微软的价值100亿美元的“联合企业防御基础设施”(Joint Enterprise Defense Infrastructure,简称J...
【热点】
阅读更多研究表明:欧盟技术规则也应限制IBM等云计算供应商
热点10月26日消息,据国外媒体报道,根据周二公布的一份研究报告称,限制亚马逊、苹果、Alphabet子公司谷歌和Facebook权力的欧盟法规草案也应该针对云计算服务提供商潜在的反竞争行为。 该研究报告...
【热点】
阅读更多标签: 力积存储 力积电 DDR4 DRAM
热点云梦级12月1日云梦级消息,11月28日,杭州内存芯片设计公司力积存储在港交所提交新版上市申请书,独家保荐人为中信证券。力积存储主要从事DRAM内存芯片的设计,专注于8GB DDR4及更早代际的产品。...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.quarterjacksurgery.co.uk/?AT=3rBy&s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,Xna
- https://www.krisinformation.se/en/search?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,XB2
- https://www.spicebar.de/catalogsearch/result/?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,ymI
- https://m.shoppinghow.kakao.com/m/search/q/谷歌霸屏24小时见效-实现思路【tg:seogoogle987】eC3
- https://www.rhymezone.com/r/rhyme.cgi?typeofrhyme=oldrel&loc=nojs&Word=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,Kaj
- https://www.qidulp.com/search?query=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,eM4
- https://www.wuv.edu/?s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,N6U
- https://www.zalora.sg/catalog/?cat=112&q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,ua4
- https://www.paxnet.co.kr/search/jongmok?kwd=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】WSb
- https://www.smics.com/tc/site/search?token=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,XDs
- https://www.nbm.org/?action=QUERY&s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,nQ6
- https://www.kingston.gov.uk/site-search/results/?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,N9d
- https://www.flickr.com/photos/tags/谷歌霸屏24小时见效-实现思路【tg:seogoogle987】2Ve
- https://www.tumblr.com/tagged/谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,Oq1
- https://www.wellbees.com/catalogsearch/result/?action=CHECK&q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,nnM
- https://www.ncetm.org.uk/search?action=CHECK&q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,gdx
- https://www.sebson.de/en/search?query=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,wU6
- https://www.trockenmittel.ch/catalogsearch/result/?iC=ZM3&q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,dJ9
- https://www.prattlibrary.org/search?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,7QM
- https://nicolazzi.it/en/?s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,gCL
- https://store.line.me/search/sticker/ja?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】qbq
- https://www.resopal.de/catalogsearch/result/?action=SEARCH&q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,w3y
- https://www.kissthekangaroo.com.au/index.php?route=product/search&tag=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,93y
- https://www.tarleton.edu/news/search/谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,4K1
- https://www.thedp.com/page/search?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,uEg
- https://www.klatreverden.no/search?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,84D
- https://www.lechzuers.com/de/search?cat=163&q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,0Ds
- https://yokohama-oht.com/?action=CHECK&s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,oDM
- https://www.abbreviations.com/谷歌霸屏24小时见效-实现思路【tg:seogoogle987】9jL
- https://www.springfieldlibrary.org/?s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,E7T
- https://www.lauben.com/en/?action=SEARCH&s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,tMz
- https://www.whatsonstage.com/search?cat=64&term=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,WW0
- https://www.shacknews.com/editorial-search?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,zB0
- https://www.londontheatredirect.com/search/谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,dmG
- https://www.target.com/s?searchTerm=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,Wm1
- https://xn--lgernevedlystskoven-lxb.dk/search/谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,HWV
- https://www.nss.nhs.scot/search?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,zOD
- https://www.valuecolleges.com/?action=QUERY&s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,RsU
- https://www.remit.co.jp/zh/?s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,pbL
- https://www.lifesciencesweden.se/search?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,5Y2
- https://www.vfw.org/search-results?q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,Cok
- https://www.pinkpanda.ro/magazin/ingrijirea-tenului?page=87&q=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,QsL
- https://www.roberthalf.com/us/en/jobs/all/谷歌霸屏24小时见效-实现思路【tg:seogoogle987】4Ij
- https://www.remit.co.jp/pt/?action=CHECK&s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,I6Z
- https://www.safetv.go.kr/base/search/view?searchWord=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】gz8
- https://www.pmindia.gov.in/en/?s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,W5k
- https://www.teacherspayteachers.com/Browse/Price-Range/Free/Search:Western International University Physics degree=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,tOR
- https://wydden.com/?ID=r8w9WMSKWkOcmiaFWaUv0dzMdqZWfKtF&s=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,66H
- https://www.maine.gov/pfr/professionallicensing/search/node?keys=谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,n3s
- https://www.pearlstonecenter.org/search/谷歌霸屏24小时见效-实现思路【tg:seogoogle987】,wfz