kubernetes kube-proxy iptables 错误

kubernetes kube-proxy iptables 错误

我正在尝试在多个 ESXi 主机上设置 kubernetes 集群。etcd/kube-apiserver/kube-scheduler/kube-controller-manager 似乎没问题,但在 docker 主机(在本例中为 coreos 稳定主机)上,kubelet 似乎可以工作,但 kube-proxy 却不行。

我正在运行以下命令并收到列出的错误。

coreos1 core # /opt/bin/kube-proxy --master=10.42.0.51:8080 --v=0
E0817 13:51:29.558463    6506 proxier.go:164] Error removing pure-iptables proxy rule: error checking rule: exit status 2: iptables v1.4.21: Couldn't load target `KUBE-SERVICES':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
E0817 13:51:29.560023    6506 proxier.go:167] Error removing pure-iptables proxy rule: error checking rule: exit status 2: iptables v1.4.21: Couldn't load target `KUBE-SERVICES':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.

创建了几个 iptables 链(不包括引用的那个),不确定这个链是怎么回事。我已在此主机上设置了 flannel,测试运行正常。我可以启动一个测试 pod,但我从未获得外部 IP,而且我手动启动的任何主机都无法达到 Kubernetes 中配置的 IP 范围。

v1.0/1.0.1 的文档看起来相当简单,我在早期的测试版本中不断遇到日志操作指南文档。

答案1

您是否覆盖了任何 kube-proxy 命令参数以使用纯 iptables 模式?

您应该能够使用 kube-proxy 的用户空间代理模式。

我们也正在努力启用纯 iptables 模式,但与此同时,用户空间模式可以为您解除阻止。

(该标志是legacy-userspace-proxy [=true])

答案2

在这些行之前你应该看到这行日志:

“拆除纯 iptables 代理规则。此处的错误是可以接受的。”

实际情况是代理有两种模式,启动代码确保未使用的模式已被清除。如果您从未使用过另一种模式,则无需清除。我们决定最好记录错误而不是隐藏它们,以防出现意外情况。很难通过编程区分“无事可做”和“错误执行某事”,所以我们没有这样做。

简而言之 - 我不认为这是一个错误。您实际上遇到了问题吗?

相关内容