我正在尝试在多个 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 代理规则。此处的错误是可以接受的。”
实际情况是代理有两种模式,启动代码确保未使用的模式已被清除。如果您从未使用过另一种模式,则无需清除。我们决定最好记录错误而不是隐藏它们,以防出现意外情况。很难通过编程区分“无事可做”和“错误执行某事”,所以我们没有这样做。
简而言之 - 我不认为这是一个错误。您实际上遇到了问题吗?