使用service访问群集中的应用程序
Last updated
Was this helpful?
Last updated
Was this helpful?
本文向您展示如何创建 Kubernetes Service 对象,外部客户端可以使用它来访问集群中运行的应用程序。该 Service 可以为具有两个运行实例的应用程序提供负载均衡。
运行 Hello World 应用程序的两个实例。
创建一个暴露 node 节点端口的 Service 对象。
使用 Service 对象访问正在运行的应用程序。
在集群中运行 Hello World 应用程序:
上述命令创建一个 对象和一个相关联的 对象。该 ReplicaSet 有两个 ,每个 Pod 中都运行一个 Hello World 应用程序。
显示关于该 Deployment 的信息:
显示 ReplicaSet 的信息:
创建一个暴露该 Deployment 的 Service 对象:
显示该 Service 的信息:
输出类似于:
记下服务的 NodePort 值。例如,在前面的输出中,NodePort 值为 31496。
列出运行 Hello World 应用程序的 Pod:
输出类似于:
获取正在运行 Hello World 应用程序的 Pod 的其中一个节点的 public IP 地址。如何得到这个地址取决于您的集群设置。例如,如果您使用 Minikube,可以通过运行 kubectl cluster-info
查看节点地址。如果您是使用 Google Compute Engine 实例,可以使用 gcloud compute instances list
命令查看您的公共地址节点。
在您选择的节点上,在您的节点端口上例如创建允许 TCP 流量的防火墙规则,如果您的服务 NodePort 值为 31568,创建防火墙规则,允许端口 31568 上的TCP流量。
使用节点地址和节点端口访问 Hello World 应用程序:
其中 <public-node-ip>
是您节点的 public IP地址,而 <node-port>
是您服务的 NodePort 值。
对成功请求的响应是一个 hello 消息:
要删除 Service,输入以下命令:
删除 Deployment、ReplicaSet 和正运行在 Pod 中的 Hello World 应用程序,输入以下命令:
作为使用 kubectl expose
的替代方法,您可以使用 来创建 Service。
了解更多关于 。