繁体   English   中英

如何配置kube-proxy绑定IP地址?

[英]How to configure kube-proxy bind IP address?

出于测试目的,我想将 kubernetes master 设置为只能从本地机器访问,而不能从外部访问。 最终,我将在对外开放的机器上运行一个代理服务器 docker 容器。 这一切都在 minikube VM 中。

我认为配置 kube-proxy 是可行的方法。 我做了以下

kubeadm config view > ~/cluster.yaml
# edit proxy bind address
vi ~/cluster.yaml
kubeadm reset
rm -rf /data/minikube
kubeadm init --config cluster.yaml

在做netstat -ln | grep 8443 netstat -ln | grep 8443我看到tcp 0 0 :::8443 :::* LISTEN这意味着它没有使用 IP。

我也试过kubeadm init --apiserver-advertise-address 127.0.0.1但这只会在kubeadm config view中将广告地址更改为 10.xxx 。 我觉得无论如何这可能是错误的。 我不希望 API 服务器无法被其他需要访问它的 docker 容器或其他东西访问。

我也尝试kubeadm config upload from-file --config ~/cluster.yaml执行此kubeadm config upload from-file --config ~/cluster.yaml ,然后尝试手动重新启动运行 kube-proxy 的 docker。 还尝试在 kubeadm 配置更改后重新启动机器/集群,但无法弄清楚。 当您手动重新启动 minikube 虚拟机时,kubeadm 命令消失,甚至 docker 都没有运行。 各种重新启动事物的在线方法似乎也不起作用(可能只是做错了)。

还尝试编辑 kube-proxy docker 的配置文件(绑定到本地目录),但是当我重新启动 docker 时会被覆盖。 我不明白。

kubernetes 仪表板中没有任何内容允许我编辑 kube-proxy 的配置文件(因为它是一个守护进程)。

最终,我希望使用位于 k8s 主服务器(特别是 apiserver)前面的经过身份验证的代理服务器。 从 VM 外部直接访问 k8s master 将不起作用。

谢谢

您可以通过本地网络配置来限制它。 (防火墙、路由)据我所知,API 至少需要通过其他节点所在的本地网络进行访问。除非您希望拥有单个节点“集群”。

因此,当您没有其他网卡时,您可以在其中发布或绑定地址,则需要通过上述防火墙或路由规则对其进行限制。

对于您最初的问题主题,您是否研究过这个问题? https://github.com/kubernetes/kubernetes/issues/39586

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM