我们有一个内部Kubernetes 1.15集群,该集群在裸机上运行(Ubuntu 18.04),由7个工作人员和1个主节点组成。我们有很多命名空间,每个命名空间都托管着25个以上的不同组件,并且其中一些组件需要通过NodePort暴露给外部(不可以为这些组件提供反向代理)。
问题是我注意到iptables大小逐渐增加。在两周的时间内,大约400行被添加到iptables中,而我们没有更改集群上运行的组件,并且这些机器上没有其他任何运行。因为这是在保存iptables之前发生的,并且当我检查时没有看到iptables内部有任何奇怪的事情,所以这只是集群所需的常规规则。较大的iptable可能会导致许多问题,包括网络数据包丢失,我正在寻找解决方案。
我在Kubernetes博客上注意到了这篇文章,但这只是一个跟踪工具,而不是解决问题的工具:https://kubernetes.io/blog/2019/04/19/introducing-kube-iptables-tailer/
到底是什么困扰你?
如果是性能问题,则意味着您可能有成千上万个组件。如果是这样,Kubernetes 1.11引入了IPVS来解决此问题。
无论如何,我邀请您阅读这两篇文章: