我是K8s的新手,正在努力解决kube代理的一些问题。我有一个需要公开部署的服务。一切看起来都是正确的,但它并没有暴露它。我在kube代理日志中发现了这个问题。
Unknown proxy mode "", assuming iptables proxy
命令iptables save | grep hostnames 没有输出
我认为将--proxy-mode
添加到kube代理清单中可以解决我的问题,但找不到它。
我还尝试用以下命令检查配置文件:
ps -ef | grep kube-proxy
输出:
root 1423 24476 0 12:12 pts/0 00:00:00 grep --color=auto kube-proxy
root 8424 8392 0 11:45 ? 00:00:00 /usr/local/bin/kube-proxy --config=/var/lib/kube-proxy/config.conf --hostname-override=
ip-10-0-0-100.us-west-2.compute.internal
root@ip-10-0-0-100:~# find /var/lib/kube-proxy/config.conf
find: ‘/var/lib/kube-proxy/config.conf’: No such file or directory
root@ip-10-0-0-100:~# find /usr/local/bin/kube-proxy
find: ‘/usr/local/bin/kube-proxy’: No such file or directory
任何能帮我找到路的线索都将不胜感激。谢谢
其中一个原因可能是出于多种原因没有安装网络插件。
在我的情况下,当我收到以下错误时,我想检查是否安装了CNI插件。
Unknown proxy mode "", assuming iptables proxy
使用以下命令检查已安装的CNI插件,
$ ls /etc/cni/net.d
假设它是一个
weave-net
。然后,我们必须查找使用k get all -n kube-system
为该插件创建的对象。就我而言,我没有找到任何为编织网创建的对象。因此,我刚刚安装了以下命令编织,$ kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d 'n')"
还有一件事需要记住,
/var/lib/kube-proxy/config.conf
是kube代理pod内部的安装位置。查看名为kube proxy的ConfigMap的详细信息。
kubectl describe configmap kube-proxy -n kube-system