Kubernetes 中的 Service(服务) 提供了这样的一个抽象层,它选择具备某些特征的 Pod(容器组)并为它们定义一个访问方式。
Service(服务)使Pod(容器组)之间的相互依赖解耦,(原来从一个POD中访问另外一个pod,需要知道对方的IP地址)
一个Service(服务)选定哪些POD(容器组)通常由LabelSelector(标签选择器)来决定。
在创建service的时候,是通过设置配置文件中的spec.type字段的值。
不同的方式向外暴露应用程序:
.ClusterIP(默认)
在集群中的内部IP上公布服务。这种方式的Service只在集群内部可以访问到
.NodePort
使用NAT在集群中的每个的同一端口上公布服务。通过访问集群中任意节点+端口号的方式访问服务:
.LoadBalancer
在云环境中创建一个集群外部的负载均衡器,并为使用该负载均衡的IP地址作为服务的访问地址。此时ClusterIP和NodePort的访问方式依然可用。
Labels(标签)
附加到 Kubernetes 对象的键/值对,其用途有多种: