云容器引擎

Service

2025-01-09 02:43:43

由于云原生的应用,通常需要敏捷的迭代和快速的弹性,且单一容器和其相关的网络资源的生命非常短暂,所以需要固定的访问地址,以及自动负载均衡实现快速的业务弹性。CCSE采用Service方式为一组容器提供固定的访问入口,并对这一组容器做负载均衡。实现原理如下:

n  创建Service对象时,CCSE会分配一个相对固定的Service IP地址。

n  通过字段selector选择一组容器,以将这个Service IP地址和端口负载均衡到这一组容器IP和端口上。

Service网络支持以下多种模式分别对接不同来源和类型的客户端的访问:

l  ClusterIP

ClusterIP类型的Service用于集群内部的应用间访问,如果您的应用需要暴露到集群内部提供服务,需使用ClusterIP类型的Service暴露。

l  NodePort

NodePort类型的Service将集群中部署的应用向外暴露,通过集群节点上的一个固定端口暴露出去,这样在集群外部就可以通过节点IP和这个固定端口来访问。

l  LoadBalancer

LoadBalancer类型的Service同样是将集群内部部署的应用向外暴露,不过它是通过天翼云的负载均衡进行暴露的,相对于NodePort方式,有更高的可用性和性能。

l  Headless Service

Headless Service类型的Service是在Service属性中指定clusterIP字段为None类型。采用Headless Service类型后,Service将没有固定的虚拟IP地址,客户端访问Service的域名时会通过DNS返回所有的后端Pod实例的IP地址,客户端需要采用DNS负载均衡来实现对后端的负载均衡。

l  ExternalName

ExternalName类型的Service将集群外部的域名映射到集群内部的Service上,例如将外部的数据库域名映射到集群内部的Service名,那么就能在集群内部通过Service名直接访问。


_8jx8T4A2XGb