亲爱的,我已经部署了一个样本服务,例如:
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.233.0.1 <none> 443/TCP 1d
mynodejsapp NodePort 10.233.2.225 <none> 3000:31209/TCP 43s
请问如何在集群ip上访问app mynodejsapp?
当我做了一个获取节点-o wide时,这就是我在下面看到的,
$ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
controlplane-node-001 Ready master 2d v1.9.1+2.1.8.el7 <none> Oracle Linux Server 7.2 4.1.12-112.14.13.el7uek.x86_64 docker://17.3.1
controlplane-node-002 Ready master 2d v1.9.1+2.1.8.el7 <none> Oracle Linux Server 7.2 4.1.12-112.14.13.el7uek.x86_64 docker://17.3.1
controlplane-node-003 Ready master 2d v1.9.1+2.1.8.el7 <none> Oracle Linux Server 7.2 4.1.12-112.14.13.el7uek.x86_64 docker://17.3.1
default-node-001 Ready node 2d v1.9.1+2.1.8.el7 <none> Oracle Linux Server 7.2 4.1.12-112.14.13.el7uek.x86_64 docker://17.3.1
default-node-002 Ready node 2d v1.9.1+2.1.8.el7 <none> Oracle Linux Server 7.2 4.1.12-112.14.13.el7uek.x86_64 docker://17.3.1
任何帮助。谢谢。
请问如何在集群ip上访问app mynodejsapp?
现在,直接回答有关您的服务概述的问题:
mynodejsapp
服务,您需要在nodes
端口上定位任何31209
的IP(并且kube-proxy
会将其路由到mynodejsapp
服务)mynodejsapp
服务,意味着从同一群集上运行的另一个pod,您需要定位clusterIP 10.233.2.225:3000
(或者运行kube-dns
,您可以直接使用服务名称mynodejsapp:3000
)正如the official documentation中详述的,clusterIP与服务相关联,而后者又通过kube-dns从服务名称解析为clusterIP。简而言之,您只能在所述群集上运行的pod中使用clusterIP(与服务相同)。
至于通过NodePort在外部公开服务,您可以在the official documentation中找到更多信息