kubernetes - 假设 iptables 代理问题,如何修复 kube-proxy 未知代理模式“”?
问题描述
我是 K8s 的新手,正在努力解决 kube-proxy 的一些问题。我有一个需要公开部署的服务。一切似乎都是正确的,但它并没有暴露它。我在 kube-proxy 日志中发现了问题。
Unknown proxy mode "", assuming iptables proxy
命令 iptables-save | 没有输出 grep 主机名
我认为添加--proxy-mode
到 kube-proxy 清单中可以解决我的问题,但找不到它。
我还尝试使用以下命令检查配置文件:
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
。就我而言,我没有找到为编织网创建的任何对象。因此,我刚刚使用以下命令安装了 weave,$ kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
还有一件事要记住,
/var/lib/kube-proxy/config.conf
是kube-proxy pod内的安装位置。查看名为 kube-proxy 的 ConfigMap 的详细信息。
kubectl describe configmap kube-proxy -n kube-system
推荐阅读
- winapi - 如何获得窗口区域的确切大小,包括隐藏控件?
- angular - 如何将属性值作为对象值发送?
- react-native - 在 React Navigation v5 中为嵌套路由实现 StackRouter
- python - Python 列表重复
- flutter - 如何从 Flutter 中删除默认的 chrome 打开?
- redis - redis FLUSHALL ASYNC 命令会阻塞调用者吗?
- ffmpeg - 如何在 FFMPEG 中将 2 个代码片段合并为 1 个?
- c - 构建 GLFW/OpenGL 程序时未定义的引用?
- javascript - firebase - 每当用户注册时使用 updateProfile
- c# - 在 IIS 上安装 .Net Core 5 Web Api 时出现无法访问此站点错误