亲爱的我已经部署了一个示例服务,例如:
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上的应用程序mynodejsapp?
当我获取一个-o宽的节点时,这就是我所看到的,
$ 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
任何帮助。谢谢。
答案 0 :(得分:1)
请问如何访问群集ip上的应用程序mynodejsapp?
现在,要直接回答有关服务概述的问题:
mynodejsapp
服务,您需要将端口nodes
(和{{1} }会将其路由到31209
服务)kube-proxy
服务,这意味着要从在同一群集上运行的另一个Pod中,您需要定位clusterIP mynodejsapp
(或者运行{{1 }}您可以直接使用服务名称mynodejsapp
)如the official documentation中所述,clusterIP与服务绑定,然后通过kube-dns从服务名称解析为clusterIP。简而言之,您只能在运行在该群集上的Pod中使用clusterIP(与服务相同)。
关于通过NodePort在外部公开服务,您还可以在the official documentation
中找到更多信息。