首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes - libnftnl.so.11.3.0中的分段断层

Kubernetes - libnftnl.so.11.3.0中的分段断层
EN

Stack Overflow用户
提问于 2021-04-12 07:08:12
回答 1查看 812关注 0票数 0

我有一个由一个主节点和3个工作节点组成的自管理Kubernetes集群。我在集群中使用群集网络接口法兰绒

在我的所有机器上,我可以看到以下类型的内核消息:

代码语言:javascript
复制
Apr 12 04:22:24 worker-7 kernel: [278523.379954] iptables[6260]: segfault at 88 ip 00007f9e69fefe47 sp 00007ffee4dff356 error 4 in libnftnl.so.11.3.0[7f9e69feb000+16000]
Apr 12 04:22:24 worker-7 kernel: [278523.380094] Code: bf 88 00 00 00 48 8b 2f 48 39 df 74 13 4c 89 ee 41 ff d4 85 c0 78 0b 48 89 ef 48 8b 6d 00 eb e8 31 c0 5a 5b 5d 41 5c 41 5d c3 <48> 8b 87 88 00 00 00 48 81 c7 78 00 00 00 48 39 f8 74 0b 85 f6 74
Apr 12 05:59:10 worker-7 kernel: [284329.182667] iptables[13978]: segfault at 88 ip 00007fb799fafe47 sp 00007fff22419b36 error 4 in libnftnl.so.11.3.0[7fb799fab000+16000]
Apr 12 05:59:10 worker-7 kernel: [284329.182774] Code: bf 88 00 00 00 48 8b 2f 48 39 df 74 13 4c 89 ee 41 ff d4 85 c0 78 0b 48 89 ef 48 8b 6d 00 eb e8 31 c0 5a 5b 5d 41 5c 41 5d c3 <48> 8b 87 88 00 00 00 48 81 c7 98 00 00 00 48 39 f8 74 0b 85 f6 74
Apr 12 08:29:25 worker-7 kernel: [293343.999073] iptables[16041]: segfault at 88 ip 00007fa40c7f7e47 sp 00007ffe04ba9886 error 4 in libnftnl.so.11.3.0[7fa40c7f3000+16000]
Apr 12 08:29:25 worker-7 kernel: [293343.999165] Code: bf 88 00 00 00 48 8b 2f 48 39 df 74 13 4c 89 ee 41 ff d4 85 c0 78 0b 48 89 ef 48 8b 6d 00 eb e8 31 c0 5a 5b 5d 41 5c 41 5d c3 <48> 8b 87 88 00 00 00 48 81 c7 98 00 00 00 48 39 f8 74 0b 85 f6 74

我缩小了范围,认为信息来源于库贝法兰绒-ds舱。我有这样的日志信息:

代码语言:javascript
复制
Failed to ensure iptables rules: Error checking rule existence: failed to check rule existence: running [/sbin/iptables -t filter -C FORWARD -s 10.244.0.0/16 -j ACCEPT --wait]: exit status -1:
Failed to ensure iptables rules: Error checking rule existence: failed to check rule existence: running [/sbin/iptables -t nat -C POS TROUTING -s 10.244.0.0/16 ! -d 224.0.0.0/4 -j MASQUERADE --random-fully --wait]: exit status -1: 

有人能解释一下这类信息的含义吗?这会是硬件问题吗?从法兰绒切换到另一个库伯伦集装箱网络接口(如卡利科 )是否有意义?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-12 09:36:14

正如评论中已经提到的,debian使用了nftable,而不是iptable:

注意: iptables正在被 nftables 取代,开始于Debian - reference 这里

不幸的是,在这个时刻,nftable和kubernetes是不兼容

在Linux中,nftable可以作为内核iptables子系统的现代替代品。iptables工具可以充当兼容层,它的行为类似于iptable,但实际上是配置nftable。这个nftable后端与当前的kubeadm包不兼容:它会导致重复的防火墙规则并破坏kube-proxy。您可以尝试切换到像描述的这里那样的遗留选项,但是我不确定这个解决方案,因为我没有办法用您的Os测试它。我用这个这里解决了debian的类似问题。

另一种方法是切换到Calico,它实际上是带有支持nftbackedFELIX_IPTABLESBACKEND。此参数控制iptables二进制Felix使用的变体。将其设置为Auto,以便自动检测后端。如果需要特定的后端,那么使用netfilter后端对主机使用NFT,对其他人使用Legacy。默认值:Auto

在用容器安装棉布时,也请看一看机箱。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67053959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档