我正在运行 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 版本相当旧。请考虑升级到更新的版本。
如果有帮助,请告诉我。