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字段中报告。