云邊協同的場景中,邊緣單元下的服務呈現本單元訪問閉環的特性。您可以通過在云端節點池和邊緣節點池部署Nginx Ingress Controller,為邊緣單元下的服務提供負載均衡等功能。本文介紹如何在ACK Edge集群的云端節點池和邊緣節點池部署Nginx Ingress Controller。
背景信息
阿里云容器服務 Edge 版采用非侵入方式增強,提供邊緣自治、邊緣單元、邊緣流量管理、原生運維API支持等能力,以原生方式支持邊緣計算場景下的應用統一生命周期管理和統一資源調度。您可以方便快速的將自己的邊緣節點接入到集群中。
注意事項
在云端節點池和邊緣節點池部署ack-ingress-nginx-v1時注意事項如下:
要求ACK Edge集群版本大于等于1.19。
支持在一個ACK Edge集群上多次部署, 每次部署需要唯一的發布名稱。
支持在一個ACK Edge集群的同一命名空間下多次部署,但為了管理方便,建議每次部署選擇獨立的命名空間。
首次部署時若不修改參數配置值,則ack-ingress-nginx-v1默認部署到ACK Edge集群的默認節點池。
操作步驟
登錄容器服務管理控制臺。
在控制臺左側導航欄,選擇 。
在應用市場的應用目錄頁簽,搜索并選中ack-ingress-nginx-v1。
在ack-ingress-nginx-v1組件頁面,單擊右上角的一鍵部署。
在彈出面板中,選擇集群、命名空間,并填寫發布名稱。
說明在節點池部署ack-ingress-nginx-v1時,建議發布名稱以ack-ingress-nginx-v1-{節點池名稱}格式命名。例如:ack-ingress-nginx-v1-edge-hangzhou。
單擊下一步進入參數配置頁面,設置參數信息。
您可以在容器服務管理控制臺集群管理頁左側導航欄中,選擇 ,查看節點池列表,找到對應的云端節點池ID和邊緣節點池ID。
在云端節點池部署時需設置如下參數:
在
service. nodeSelector
配置項中加入云端節點池的Label:alibabacloud.com/nodepool-id: {節點池ID}
。說明service. nodeSelector
字段只需保留alibabacloud.com/nodepool-id: {節點池ID}
信息。在
ingressClassResource
配置項中設置name
和controllerValue
。說明在同一個ACK Edge集群中多次部署ack-ingress-nginx-v1時,每次部署的
name
和controllerValue
要確保唯一。命名規范建議如下:name
:ack-nginx-{節點池名稱}
, 例如:ack-nginx-edge-hangzhou
。controllerValue
:"k8s.io/ack-ingress-nginx-{節點池名稱}"
,例如:"k8s.io/ack-ingress-nginx-edge-hangzhou"
。
在邊緣節點池部署時需設置如下參數:
在
service. nodeSelector
配置項中加入邊緣端節點池的Label:alibabacloud.com/nodepool-id: {節點池ID}
。說明service. nodeSelector
字段只需保留alibabacloud.com/nodepool-id: {節點池ID}
信息。將
global. edgeNodePool
設置為true
。ack-ingress-nginx-v1會自動進行如下操作:自動將邊緣節點側部署的Nginx Ingress Controller的Service的Type類型由LoadBalancer改為NodePort模式。若您需要將自己邊緣側的服務對公網進行訪問,則需要單獨配置帶有公網IP的負載均衡器。
Nginx Ingress Controller使用的鏡像,會自動變為公網地址的鏡像,避免邊緣側節點無法拉取內網鏡像。
在
ingressClassResource
配置項中設置name
和controllerValue
。說明在同一個ACK Edge集群中多次部署ack-ingress-nginx-v1時,每次部署的
name
和controllerValue
要確保唯一。命名規范建議如下:name
:ack-nginx-{節點池名稱}
, 例如:ack-nginx-edge-hangzhou
。controllerValue
:"k8s.io/ack-ingress-nginx-{節點池名稱}"
,例如:"k8s.io/ack-ingress-nginx-edge-hangzhou"
。
單擊確定完成安裝。
在集群管理頁左側導航欄中,選擇 。
在Helm頁面可以看到Nginx Ingress Controller服務已經部署成功。