Serverless容器引擎支持将Service通过负载均衡ELB向外暴露, Serverless容器引擎集群内置CCM(Cloud Controller Manager)插件,当Service的类型为LoadBalancer时,CCM插件会为Service配置负载均衡,并根据Service信息配置好负载均衡的后端服务器组、健康检查和监听规则等,使得用户可以通过负载均衡访问该Service。以下是使用负载均衡的步骤指引。
使用已有负载均衡暴露服务
前提条件
确保您已经创建Serverless集群,具体操作请参阅创建Serverless集群。
在本地使用命令之前,需要先通过kubectl连接Kubernetes集群。
您已提前在负载均衡控制台创建ELB实例,ELB实例需要与Service所在的Serverless集群在同一个VPC网络下。
注意事项
不同Service可以同时复用同一个负载均衡实例,复用同一个负载均衡实例需要避免不同Service使用相同的服务端口,否则存在监听配置被覆盖的情况。
不能复用由CCM自动创建的或集群ApiServer使用的负载均衡实例。
当Service删除时,使用已有的负载均衡不会被删除。
操作步骤
登录云容器引擎控制台,点击进入想要操作的Serverless集群,在左侧菜单选择“网络”->“服务”。
点击“创建服务”按钮新建服务,按照参数说明配置相关的参数:
类型:选择负载均衡。
负载均衡:可根据业务需要选择私网访问或公网访问,集群内或同一VPC内访问建议选择私网访问即可;选择“使用已有负载均衡”;负载均衡实例列表会根据选择的私网/公网访问方式显示出对应的实例,选择想要使用的负载均衡实例即可。
标签:根据需要可以为服务配置标签。
注解:根据需要可以为服务配置注解。
外部流量策略:Cluster或Local。默认Cluster即可。
健康检查:根据需要可以配置全局或自定义检查,默认不启用。
端口映射:配置好协议、容器端口及服务端口,其中容器端口为应用本身暴露的端口,服务端口则会作为负载均衡实例的监听端口。
工作负载绑定:选择服务要关联的工作负载,也可以配置自定义标签关联。
创建服务后,在服务列表可以看到该服务,通过服务的集群外访问地址即可以访问该服务。
配置Service负载均衡的注意事项
多个Service使用同个负载均衡的同个监听端口。CCMv1.0.7及之后版本,后创建的Service默认会配置失败,可通过设置Service注解“service.beta.kubernetes.io/ctyun-loadbalancer-override-listeners”为“true”指定强制覆盖已有监听。
已创建LoadBalancer类型的Service不支持重新指定负载均衡实例。如果您需要更换负载均衡实例,请重新创建Service。