當Service的類型設定為Type=LoadBalancer
時,Container ServiceACK的CCM(Cloud Controller Manager)組件會為該Service建立或配置阿里雲Server Load Balancer(Server Load Balancer),包括含SLB、監聽、後端伺服器組等資源。本文介紹配置Service負載平衡的注意事項以及CCM的資源更新策略。
SLB更新策略
ACK支援為Service指定一個已有的SLB,或者讓CCM自動建立新的SLB。兩種方式在SLB的資源更新策略方面存在一些差異,如下表所示。
資來源物件 | 指定已有SLB | CCM管理SLB |
SLB | 設定annotation:
|
|
監聽 | 設定annotation:
| CCM會根據Service的配置,自動建立和配置監聽策略。 |
後端伺服器組 | 當Service對應的後端Endpoint或者叢集節點發生變化時,CCM會自動更新SLB的後端虛擬伺服器組。
|
注意事項
哪些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使用限制,請參見限制與配額。
查詢VPC配額,請參見Virtual Private Cloud配額管理。
SLB
CCM會為
Type=LoadBalancer
類型的Service建立SLB。預設情況下一個使用者可以保留60個SLB執行個體。如果需要建立的SLB數量大於60,請。CCM會根據Service的配置將ECS掛載到SLB後端伺服器組中。
CCM會根據Service中定義的連接埠建立SLB監聽。預設情況下一個SLB執行個體可以添加50個監聽,如需添加更多監聽,請。
更多SLB使用限制請參見使用限制。
Server Load Balancer配額查詢請參見Server Load Balancer配額管理。