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。