'systemctl stop kube-proxy'不会清理iptables

时间:2016-07-05 06:29:48

标签: kubernetes

kube版本:1.22

  1. 在k8s群集中运行了一个使用nodeport 30003的svc

  2. systemctl stop kube-proxy在minion A,ss -antpl |中grep 30003你会发现端口30003是免费的

  3. 在小兵B中,telnet $A_IP 30003成功(或nc $A_IP 30003
  4. iptable -F -t nat in minion A
  5. 重复步骤3,telnet $A_IP 30003失败
  6. 所以我认为当kube-proxy异常退出时应该清理iptables吗?

1 个答案:

答案 0 :(得分:0)

如果您正在运行使用kube-proxy进行服务IP到端点映射的集群,那么预计kube-proxy将在监控进程退出后立即重新启动(例如systemd,monit,supervisord等) 。实际上,在Kubernetes的更高版本中,kube-proxy作为特权容器运行,而kubelet确保它保持运行。由于预计会快速重启,清理iptables只会导致每次重启kube-proxy时不必要地修改它们。

如果您不希望kube-proxy为您管理iptables,那么您可以决定不在群集中运行它,或者在停止后手动清理iptables规则。