當您的應用程序需要為用戶提供統一的公網或內網入口時,可以在Kubernetes集群中部署ASM入口網關(Ingress Gateway)。入口網關作為統一的訪問入口,可以簡化流量的管理和路由,并利用七層負載均衡能力根據HTTP請求的路徑、主機頭或其他屬性將流量智能分發至相應的后端服務。
前提條件
操作步驟
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇
。在入口網關頁面,單擊創建,配置網關的基本信息。
網關配置項說明如下。您也可以在入口網關頁面,單擊使用YAML創建定義入口網關。具體操作,請參見使用KubeAPI管理入口網關。
配置項
說明
名稱
自定義網關的名稱。
部署集群
選擇網關部署的集群。
網關服務類型
支持LoadBalancer、ClusterIP和NodePort。關于三種類型的說明,請參見Service。
說明如果您的數據面集群是注冊集群,且需要選擇LoadBalancer,請確保集群支持LoadBalancer類型的Service,避免入口網關創建失敗。
傳統型負載均衡CLB/網絡型負載均衡NLB
僅當網關服務類型選擇LoadBalancer時,需要進行此配置。
支持公網訪問和私網訪問。
新建負載均衡
僅當網關服務類型選擇LoadBalancer時,需要進行此配置。
新建負載均衡:
選擇傳統型負載均衡CLB時,您需要從選擇CLB規格下拉列表中選擇所需的負載均衡規格。
選擇網絡型負載均衡NLB時,您需要從選擇NLB可用區下拉列表中選擇至少兩個可用區對應的虛擬交換機。
使用已有負載均衡:從已有負載均衡列表中選擇。
重要建議您為每個Kubernetes服務分配一個負載均衡。如果多個Kubernetes服務復用同一個負載均衡,存在以下風險和限制:
使用已有的負載均衡會強制覆蓋已有監聽,可能會導致您的應用不可訪問。
Kubernetes通過Service創建的負載均衡不能復用,只能復用您手動在控制臺(或調用OpenAPI)創建的負載均衡。
復用同一個負載均衡的多個Service不能有相同的前端監聽端口,否則會造成端口沖突。
復用負載均衡時,監聽的名字以及虛擬服務器組的名字被Kubernetes作為唯一標識符。請勿修改監聽和虛擬服務器組的名字。
不支持跨集群、跨地域復用負載均衡。
端口映射
配置協議和服務端口。
說明控制臺默認提供2個Istio常用的端口。您可以按需進行修改。
資源規格
選擇網關Pod的CPU和內存規格。
網關副本數
設置網關副本數。
可選:單擊高級選項,進行相關配置。
配置項
說明
外部流量策略
設置外部流量策略。
Local:流量只發給本機的Pod。
Cluster:流量可以轉發到集群中其他節點上的Pod。
擴縮容HPA
選中擴縮容HPA,然后進行如下配置:
指標:設置監控項和閾值。超過該閾值,將增加網關副本數;低于該閾值,將減少網關副本數。
如果您同時設置了CPU和內存的閾值,則表示只要其中一個高于或低于該閾值,都會進行擴縮容。
最大副本數:網關可擴容的副本數量上限。
最小副本數:網關可縮容的副本數量下限。
說明該功能僅適用于企業版或旗艦版。
滾動升級
選中滾動升級,然后進行如下配置:
不可用最大副本數:設置滾動升級時不可用最大的副本數量。
超過期望的副本數:設置滾動升級時最多不能超過的副本數量。例如設置為25%,表示滾動升級時副本數量不能超過原來副本的125%。
啟用基于MultiBuffer的TLS加解密性能優化
選中啟用基于MultiBuffer的TLS加解密性能優化,將提升TLS加解密的速度。
支持的節點親和性標簽選擇:根據節點標簽匹配性能優化的節點。
輪詢延時(毫秒):設置該參數,可以減少加解密操作的等待時間。更多信息,請參見配置項說明。
說明該功能僅適用于企業版或旗艦版。
盡量分散部署網關副本
設置
podAntiAffinity
時,Pod優先部署到不同的節點上。自定義部署策略
您可以自定義網關的
nodeSelector
、tolerations
和affinity
。關于字段的詳細說明,請參見ASM網關CRD說明。優雅下線
選中優雅下線后,當負載均衡停用時,將不會對網關業務產生影響。
連接超時時間(秒):負載均衡移除網關Pod后,會等待配置的連接超時時間,然后再斷開與Pod的連接。配置該參數,可以給網關Pod提供一個緩沖時間,來處理現有的連接。網關Pod默認優雅下線時間為30s,負載均衡側配置的超時時間通常不應該超過30s。
說明該功能僅適用于企業版或旗艦版。
配置完成后,單擊創建。
網關狀態為運行中,表示創建成功。服務地址即為入口網關的IP地址。
相關操作
入口網關創建成功后,您可以通過ASM控制臺管理入口網關,也可以通過ACK控制臺查看入口網關。
通過ASM控制臺管理入口網關
登錄ASM控制臺,在左側導航欄,選擇 。
在網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇
。在入口網關頁面,對入口網關進行管理。
操作
說明
查看或編輯入口網關
方式一:在目標網關右側,單擊查看詳情,按需修改相關配置。
方式二:在目標網關右側,單擊查看YAML,在編輯對話框,按需修改相關字段,然后單擊確定。關于字段的詳細說明,請參見ASM網關CRD說明。
刪除入口網關
在目標網關右側,單擊刪除,在確認對話框,單擊確定。
重要入口網關刪除后,外部服務將無法通過該入口網關訪問ASM內部服務。被刪除的入口網關無法恢復,只能重建,請謹慎操作。
通過ACK控制臺查看入口網關
相關文檔
如果您需要通過API創建入口網關,請參見CreateASMGateway - 創建ASM網關。
如果您需要為網格內應用提供統一的流量出口,請參見創建出口網關。
如果您需要按照比例將流量分發到服務的不同版本,例如灰度發布和A/B測試,請參見使用Istio資源實現版本流量路由。
如果您需要查看App、服務、應用版本之間的調用關系、流量走向,可以使用ASM網格拓撲功能。具體操作,請參見查看應用的網格拓撲。
關于網關的更多功能介紹,請參見ASM網關概述。