无法在 kubernetes 中持久化 KUBE-FORWARD 自定义 iptables 规则



我正在运行 kubernetes 1.11.6 并遇到连接重置问题。对于此修复,下面的博客建议添加 iptables 规则。当我尝试添加规则时。它会自动刷新。我假设这是由 kube-proxy 完成的

https://medium.com/swlh/fix-a-random-network-connection-reset-issue-in-docker-kubernetes-5c57a11de170

iptables -I KUBE-FORWARD 1 -m conntrack --ctstate INVALID -j DROP
iptables -t filter -L KUBE-FORWARD --line-numbers -n
Chain KUBE-FORWARD (1 references)
num  target     prot opt source               destination
1    DROP       all  --  0.0.0.0/0            0.0.0.0/0            ctstate INVALID
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            /* kubernetes forwarding rules */ mark match 0x4000/0x4000
3    ACCEPT     all  --  10.42.0.0/16         0.0.0.0/0            /* kubernetes forwarding conntrack pod source rule */ ctstate RELATED,ESTABLISHED
4    ACCEPT     all  --  0.0.0.0/0            10.42.0.0/16         /* kubernetes forwarding conntrack pod destination rule */ ctstate RELATED,ESTABLISHED

过了一段时间,我看到它不见了。

iptables -t filter -L KUBE-FORWARD --line-numbers -n
Chain KUBE-FORWARD (1 references)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            /* kubernetes forwarding rules */ mark match 0x4000/0x4000
2    ACCEPT     all  --  10.42.0.0/16         0.0.0.0/0            /* kubernetes forwarding conntrack pod source rule */ ctstate RELATED,ESTABLISHED
3    ACCEPT     all  --  0.0.0.0/0            10.42.0.0/16         /* kubernetes forwarding conntrack pod destination rule */ ctstate RELATED,ESTABLISHED

我试图坚持高于规则。

您可以尝试使用 iptables-persistent。

通过执行以下命令安装它:apt-get install iptables-persistent和任何当前建立的iptables rulles将被保存到相应的IPv4和IPv6:

/etc/iptables/rules.v4

/etc/iptables/rules.v6

要使用新规则更新持久 iptables,只需使用iptables命令将新规则包含在系统中。要在重新启动后使更改永久运行iptables-save命令:

iptables-save > /etc/iptables/rules.v4

ip6tables-save > /etc/iptables/rules.v6

这是有关该主题的另一个指南。

此外,您运行的 Kubernetes 版本相当旧。请考虑升级到更新的版本。

如果有帮助,请告诉我。

相关内容

  • 没有找到相关文章

最新更新