雲原生AI套件提供了簡單的營運大盤和開發控制台,滿足快速探索叢集狀態、提交訓練任務的需要。由於ACK Edge叢集的Ingress組件部署方式與ACK託管叢集Pro版有差異,AI套件控制台在ACK Edge叢集的部署流程有一些變化。本文介紹如何在ACK Edge叢集中部署AI套件控制台。
前提條件
步驟一:部署Nginx Ingress Controller
-
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
-
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
-
在Helm頁面,單擊建立。參考如下資訊完成基本資料配置。
參數
樣本值
應用程式名稱
ack-ingress-nginx-{節點池名稱}
命名空間
kube-system
來源
預設為應用市場
Chart
-
應用情境:選擇全部。
-
支援架構:選擇amd64。
-
搜尋方塊:搜尋ack-ingress-nginx-v1。
-
-
單擊下一步進入參數配置頁面,配置下列參數資訊。然後單擊確定完成安裝。
說明您可以在Container Service管理主控台叢集管理頁左側導覽列中,選擇,查看節點池列表,找到對應的雲端節點池ID。
-
在
nodeSelector配置項中加入雲端節點池的Label:alibabacloud.com/nodepool-id: {節點池ID}。說明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"。

-
-
在參數配置頁面,根據需求選擇SLB的類型為公網或私網,並相應設定
external和internal的enabled值。如果您選擇公網,請將網域名稱解析到公網IP,如果選擇私網,請使用可訪問且可解析的私網IP。service: # enable internet or intranet slb enabled: true external: # enable internet slb enabled: true # internet slb annotations # NOTE: if you want to remove default annotations below, please set it to null. annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "internet" ## Enables an additional internal load balancer (besides the external one). ## Annotations are mandatory for the load balancer to come up. Varies with the cloud service. internal: # enable intranet slb enabled: false # intranet slb annotations # NOTE: if you want to remove default annotations below, please set it to null. annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
-
步驟二:部署AI套件控制台
部署AI套件控制台具體操作,請參見安裝雲原生AI套件。安裝過程中需要注意以下資訊。
-
推薦將AI套件控制台組件部署到雲端節點,以充分利用雲端的各項能力。若您希望將其調度到指定的節點池,只需設定相應組件Pod的Selector或Affinity。
-
如果您在叢集中使用自建的資料存放區,則需在部署AI套件控制台過程中選中安裝ack-mysql組件,且該組件需部署在雲端節點。
安裝完成後,會在路由頁面中增加兩個控制台的Ingress條目,您需要增加
ingressClassName的配置,指定其與部署的Nginx-Ingress所使用的Ingress Class相同。-
在控制台左側導覽列,選擇,單擊對應目標右側YAML編輯。分別單擊兩個 Ingress 條目操作列的YAML 編輯。
-
增加
ingressClassName配置,與步驟一中ingressClassResource.name保持一致。將ingressClassName欄位修改為ack-nginx-edge-hangzhou,參考以下 YAML 配置。spec: ingressClassName: ack-nginx-edge-hangzhou rules: - host: asdfgasdfasfdasdfasdfasd http: paths: - backend: service: name: ack-ai-dashboard-admin-ui port: number: 80 path: / pathType: Prefix
-
-
在部署AI套件控制台過程中,若您需要通過公網網域名稱存取控制台,需要將該網域名稱解析到安裝的nginx-ingress負載平衡器(LB)的IP地址。你可以通過控制台左側導覽列,選擇進行查看,在服務列表中找到
ack-ingress-nginx相關服務(類型為 LoadBalancer),查看其外部 IP 位址(External IP)列中分配的公網 IP 位址,通過該 IP 可從外部存取服務。
部署完成後,可通過AI營運控制台進行訪問,具體操作,請參見訪問AI營運控制台。