Kubernetes服务将暴露在本地机器

我使用kubeadm(本地使用VMWare虚拟机)运行我的kubernetes集群。 作为安装的一部分,我已经安装了Weave Network Adapter来build立主从关系。

我可以成功创buildPod和服务。 甚至,可以使用kubeadm提供的私有IP来获得应用程序。

问题是,虽然networking与虚拟机和本地机器共享,但我无法使用我的系统访问相同的应用程序。 这是预期的。 主要原因是私人networking。

我想访问我的本地计算机上的私人kubernatesnetworking之外的应用程序。

要记住的一点:我正在使用VMWare VM在本地机器上托pipe所有东西。

有人可以帮我吗?

我想你正在寻找这个 。 我在本地尝试一切时遇到同样的问题。 你需要使用--type=NodePort

例如,我创build了一个部署:

 ./cluster/kubectl.sh run my-jenkins --image=jenkins:1.651.1 --replicas=1 --port=8080 –-namespace=jenkins 

我检查荚

 kubectl --namespace=jenkins get pods NAME READY STATUS RESTARTS AGE my-jenkins-1908062973-7b44z 1/1 Running 0 24s 

我的部署在deploymentconfig中为我创build了一个pod + replicaSet。 现在我想创build一个服务在我的吊舱之上

 ./cluster/kubectl.sh expose rs my-jenkins-1908062973 --port=80 --target-port=8080 --type=NodePort --name=jenkins-service --namespace=jenkins 

感谢 – --type=NodePort我也能够在本地访问我的服务

如果将types字段设置为“NodePort”,则Kubernetes主设备将从标志configuration范围(默认:30000-32767)分配端口,并且每个节点将该端口(每个节点上的相同端口号)代理到您的服务。 该端口将在您的服务的spec.ports [*]。nodePort字段中报告。