概述
容器應用實例發布后,無法直接被其他應用所訪問。容器應用實例支持負載均衡(私網)、負載均衡(公網)以及服務(Service)三種訪問方式。
負載均衡(私網)
此種方式用于VPC內網訪問,使用Service的LoadBalancer模式,綁定一個VPC內的私網負載均衡ELB,私網IP可以直接訪問到服務后端的Pod。
前提條件
需要在彈性負載均衡控制臺訂購開通私網負載均衡實例并在環境資源-彈性負載均衡下導入。
綁定私網負載均衡
在應用總覽頁面的訪問方式配置區域,單擊負載均衡(私網)右側的加號圖標,設置負載均衡參數,完成參數配置后單擊確認。
| 配置項 | 描述 |
|---|---|
| 服務名 | 自定義設置服務名稱,服務名稱必須唯一,不能和已有服務名稱重復。 支持小寫字母、數字和短劃線(-),且必須以字母開頭,字母或數字結尾,長度范圍為2~32個字符。 |
| 啟用IPv6 | 啟用IPv6后支持通過IPv6地址訪問容器應用實例。 |
| 選擇彈性負載均衡 | 在下拉列表中選擇已經導入的彈性負載均衡。 |
| 外部流量策略 | 外部流量策略分為Cluster和Local兩種模式。 ?Cluster:流量可以轉發到集群中其他節點上的Pod。 ?Local:流量只發給本機的Pod。配置為Local模式時,只有集群中存在Service對應Pod的節點會被添加到彈性負載均衡后端,且流量不會轉發到集群中其它節點的Pod中。 |
| TCP/HTTP協議 | 負載均衡端口(應用名):私網負載均衡前端端口,通過該端口訪問應用,可設置范圍為[1,65535]。 容器端口(TargetPort):進程監聽的端口,一般由程序定義。 |
| UDP協議 | 負載均衡端口(應用名):私網負載均衡前端端口,通過該端口訪問應用,可設置范圍為[1,65535]。 容器端口(TargetPort):進程監聽的端口,一般由程序定義。 |
結果驗證
如果負載均衡右側未出現IP和端口信息,只顯示服務名稱,則表示綁定負載均衡失敗,請進入變更記錄查看變更詳情,根據變更記錄排查并修復失敗原因。如果顯示IP和端口信息,在瀏覽器地址欄中輸入<負載均衡IP>:<端口號>,再按回車鍵即可進入各自的應用首頁。
負載均衡(公網)
此種方式用于公網訪問,使用Service的LoadBalancer模式,綁定一個公網負載均衡,公網IP可以直接訪問到服務后端的Pod。
前提條件
需要在彈性負載均衡控制臺訂購開通公網負載均衡實例并在環境資源-彈性負載均衡下導入。
綁定公網負載均衡
在應用總覽頁面的訪問方式配置區域,單擊負載均衡(公網)右側的加號圖標,設置負載均衡參數,完成參數配置后單擊確認。
負載均衡(公網)相關配置參數和驗證請參考負載均衡(私網)。
結果驗證
如果負載均衡右側未出現IP和端口信息,只顯示服務名稱,則表示綁定負載均衡失敗,請進入變更記錄查看變更詳情,根據變更記錄排查并修復失敗原因。如果顯示IP和端口信息,在瀏覽器地址欄中輸入<負載均衡IP>:<端口號>,再按回車鍵即可進入各自的應用首頁。
服務(Service)
此種方式用于集群內部訪問,使用Service的ClusterIP或NodePort模式。此類訪問將會轉發給服務后端Pod,并為這些Pod提供負載均衡。
在應用總覽頁面的訪問方式配置區域,單擊服務(Service)右側的加號圖標,完成參數配置后單擊確認。
| 參數 | 描述 |
|---|---|
| 服務名 | 自定義設置服務名稱,服務名稱必須唯一,不能和已有服務名稱重復。 支持小寫字母、數字和短劃線(-),且必須以字母開頭,字母或數字結尾,長度范圍為2~32個字符。 |
| 服務類型 | 虛擬集群IP:即ClusterIP,指通過集群的內部IP暴露服務。選擇該值,服務只能夠在集群內部可以訪問,這也是默認的Service類型。 節點端口:即NodePort,通過每個Node上的IP和靜態端口(NodePort)暴露服務。NodePort服務會路由到ClusterIP服務,這個ClusterIP服務會自動創建。通過請求NodeIP:NodePort,可以從集群的外部訪問一個NodePort服務。 |
| 服務端口 | 服務前端端口,通過該端口訪問應用,可設置范圍為1~65535。 |
| 容器端口 | 進程監聽的端口。一般由程序定義,可設置范圍為1~65535。 |
| 節點端口 | 節點對外暴露該服務的端口。一般由程序定義,可設置范圍為30000~32767。 |
| 協議 | 服務協議,包含TCP和UDP,默認值為TCP。 |
結果驗證
在當前應用添加服務(Service)后,可登錄K8S集群中任一Pod,在Pod內根據服務相關信息訪問應用。