服务概述
什么是服务
服务是将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。每一个服务后面都有很多对应的容器来提供支持,对外表现为一个单一访问接口。借助服务,应用可以方便的实现服务发现与负载均衡,并实现应用的零宕机升级。
服务有一个固定 IP 地址(在创建 QEK 集群时有一个 “Service 网段”的设置,这个网段专门用于给服务分配 IP 地址),服务将访问它的流量转发给 Pod,具体转发给哪些 Pod 通过 Label 来选择,而且服务可以给这些 Pod 做负载均衡。
服务类型
Kubernetes 允许在您创建服务时,指定你所需要的服务类型。类型的取值及行为如下表说明。
服务类型 | 说明 | ||
---|---|---|---|
ClusterIP |
通过集群的内部 IP 暴露服务,即服务只能够在集群内部访问。 这也是默认的服务类型。 |
||
NodePort |
在每个节点的 IP 上开放一个静态端口,通过静态端口对外暴露服务。
|
||
LoadBalancer |
使用云提供商的负载均衡器向外部暴露服务。 |
||
externalName |
通过返回
|
||
Headless |
Headless 服务即不需要 Cluster IP 的服务,可以在创建服务的时候指定
|