当Service的类型设置为Type=LoadBalancer
时,阿里云容器计算服务ACS的CCM(Cloud Controller Manager)组件会为该Service创建或配置阿里云负载均衡SLB(Server Load Balancer),包括SLB、监听、后端服务器组等资源。本文介绍在ACS集群中配置Service负载均衡的注意事项以及CCM的资源更新策略。
SLB更新策略
ACS支持为Service指定一个已有的SLB,或者让CCM自动创建新的SLB。两种方式在SLB的资源更新策略方面存在一些差异,如下表所示。
资源对象 | 指定已有SLB | CCM管理SLB |
SLB | 设置annotation:
|
|
监听 | 设置annotation:
| CCM会根据Service的配置,自动创建和配置监听策略。 |
后端服务器组 | 当Service对应的后端Endpoint或者集群节点发生变化时,CCM会自动更新SLB的后端虚拟服务器组,在ACS集群中,CCM仅支持挂载PodIP。 |
注意事项
哪些SLB可以被复用?
仅支持复用通过SLB控制台创建的SLB,不支持复用CCM自动创建的SLB。
如果您需要在Kubernetes集群中复用私网类型的SLB,则该SLB需要和Kubernetes集群处于同一VPC下。
CCM管理SLB时注意事项
CCM只为
Type=LoadBalancer
类型的Service配置SLB,对于非LoadBalancer类型的Service则不会为其配置负载均衡。重要当
Type=LoadBalancer
的Service变更为Type!=LoadBalancer
时,CCM会删除为该SLB添加的配置,从而造成无法通过该SLB访问Service。CCM使用声明式API,会在一定条件下自动根据Service的配置刷新SLB配置。当
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners:
设置为true
时,您自行在SLB控制台上修改的配置均存在被覆盖的风险。重要请勿在SLB控制台上手动修改Kubernetes创建并维护的SLB的任何配置,否则有配置丢失的风险,造成Service不可访问。
配额限制
VPC
集群中一个节点对应一条路由表项,VPC默认情况下仅支持200条路由表项,如果集群节点数目多于200个,请到配额平台提交申请。
更多VPC使用限制,请参见限制与配额。
查询VPC配额,请参见专有网络VPC配额管理。
SLB
CCM会为
Type=LoadBalancer
类型的Service创建SLB。默认情况下一个用户可以保留60个SLB实例。如果需要创建的SLB数量大于60,请到配额平台提交申请。CCM会根据Service中定义的端口创建SLB监听。默认情况下一个SLB实例可以添加50个监听,如需添加更多监听,请到配额平台提交申请。
更多SLB使用限制请参见使用限制。
负载均衡SLB配额查询请参见负载均衡SLB配额管理。