云原生AI套件支持安裝在ACK Pro版集群、ACK Serverless集群Pro版、ACK Edge集群Pro版,且集群版本為1.18及以上。本文介紹如何安裝云原生AI套件,以及如何安裝配置云原生AI運維控制臺和開發控制臺。
前提條件
已創建ACK Pro版集群、ACK Serverless集群Pro版、ACK Edge集群Pro版,且集群版本為1.18及以上。具體操作,請參見創建ACK Pro版集群、創建ACK Serverless Pro集群、創建ACK Edge集群Pro版。
如需安裝配置云原生AI運維控制臺,需在創建集群的組件配置頁面,選中監控插件和日志服務;或在已創建集群的運維管理頁面,安裝Prometheus監控和Logtail組件。具體操作,請參見使用阿里云Prometheus監控和通過DaemonSet采集Kubernetes容器文本日志。
視頻介紹
部署云原生AI套件
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在云原生AI套件頁面,單擊一鍵部署,然后在部署頁面,按需選中相應的組件。
控制臺配置說明、組件說明以及不同集群類型的組件支持情況說明如下。
控制臺配置
組件配置
集群支持情況
配置項
配置說明
組件名稱及說明
命名空間
ACK集群Pro版
ACK Serverless集群Pro版
ACK Edge集群Pro版
彈性
是否開啟彈性控制器功能。更多信息,請參見基于Kubernetes部署運行模型訓練作業、容器化彈性推理。
ack-alibaba-cloud-metrics-adapter,彈性伸縮組件。
kube-system
加速
是否開啟Fluid數據加速功能。更多信息,請參見數據加速Fluid概述。
ack-fluid,數據緩存加速組件。
fluid-system
調度
是否開啟調度組件(批量任務調度、GPU共享、GPU拓撲感知、NPU調度)功能。單擊高級配置,可自定義參數配置。
ack-ai-installer,調度組件。
kube-system
是否開啟Kube Queue任務隊列功能。更多信息,請參見使用任務隊列ack-kube-queue。
ack-kube-queue,擴展的Kubernetes任務隊列調度組件。
kube-queue
交互方式
Arena:如需使用命令行工具Arena(需要單獨安裝配置Arena客戶端),則必須在此勾選Arena。安裝后,您可以使用Arena命令行工具集成的Kubeflow的多種訓練Operator。單擊高級配置,可自定義參數配置。
若同時勾選Kube Queue、控制臺、工作流,則默認必選Arena。更多信息,請參見配置Arena客戶端。
ack-arena(生態工具),機器學習命令行工具。
kube-system
控制臺:部署輕量化人工智能平臺 PAI平臺。單擊高級配置,可自定義參數配置。
重要部署輕量化人工智能平臺 PAI平臺,需要先創建docker-registry-secret,請參見PAI輕量化控制臺部署指南。
ack-pai,輕量化人工智能平臺 PAI平臺。推薦使用。
安裝此組件后您可以直接使用PAI平臺提供的深度優化的算法與引擎,以及沉淀的最佳實踐,此外DSW、DLC、EAS等服務也為AI模型開發、訓練和推理帶來了更好的彈性和效率,極大地優化訓練與推理的效果,降低了您AI開發的門檻。
pai-system
控制臺:部署AI套件控制臺后,在提示對話框查看配置信息。關于配置詳情,請參見安裝配置云原生AI控制臺。
ack-ai-dashboard(生態工具),可視化運維控制臺。
kube-ai
ack-ai-dev-console(生態工具),深度學習開發控制臺。
kube-ai
控制臺數據存儲
選擇交互方式為控制臺后,需選擇控制臺數據存儲方式為集群內置MySQL或阿里云RDS。關于配置詳情,請參見安裝配置云原生AI控制臺。
ack-mysql,MySQL數據庫組件。
kube-ai
工作流
選中Kubeflow Pipelines后,您可以選擇工作流數據存儲方式為集群內置MinIO或阿里云OSS。關于配置詳情,請參見安裝配置工作流。
ack-ai-pipeline(生態工具),構建端到端的機器學習工作流平臺。
kube-ai
監控
是否安裝監控組件。更多信息,請參見使用云原生AI監控大盤。
ack-arena-exporter,集群監控組件。
kube-ai
單擊頁面下方的部署云原生AI套件,開始檢查環境和依賴項,檢查通過后,自動部署選擇的組件。
組件安裝成功后,在組件列表頁面:
您可以看到當前集群中已經安裝的組件名稱、版本等信息,并能對組件進行部署和卸載操作。
如果已安裝的組件有新版本的話,還可以對組件進行升級操作。
如果您已安裝云原生AI運維控制臺組件(ack-ai-dashboard)和云原生AI開發控制臺組件(ack-ai-dev-console)后,可以在云原生AI套件頁面左上方看到運維控制臺和開發控制臺,單擊相應控制臺可直接進行訪問。
如果您已安裝PAI輕量化控制臺組件(ack-pai)后,可以在云原生AI套件頁面左上方看到PAI輕量化控制臺,單擊相應控制臺可直接進行訪問。
安裝完成后,您可以在云原生AI套件頁面左上方看到運維控制臺和開發控制臺,單擊相應控制臺可直接進行訪問。
安裝配置云原生AI控制臺
在云原生AI套件部署頁面的交互方式區域,選中控制臺,彈出提示對話框。
創建自定義權限策略并對RAM角色進行授權。
創建自定義權限策略。
登錄RAM控制臺,在左側導航欄選擇權限管理>權限策略。
單擊創建權限策略。
單擊腳本編輯頁簽。將以下策略添加至
Action
字段中,然后單擊繼續編輯基本信息。"log:GetProject", "log:GetLogStore", "log:GetConfig", "log:GetMachineGroup", "log:GetAppliedMachineGroups", "log:GetAppliedConfigs", "log:GetIndex", "log:GetSavedSearch", "log:GetDashboard", "log:GetJob", "ecs:DescribeInstances", "ecs:DescribeSpotPriceHistory", "ecs:DescribePrice", "eci:DescribeContainerGroups", "eci:DescribeContainerGroupPrice", "log:GetLogStoreLogs", "ims:CreateApplication", "ims:UpdateApplication", "ims:GetApplication", "ims:ListApplications", "ims:DeleteApplication", "ims:CreateAppSecret", "ims:GetAppSecret", "ims:ListAppSecretIds", "ims:ListUsers"
在頁面頂端的名稱文本框中輸入自定義權限策略的名稱,格式需設置為
k8sWorkerRolePolicy-{ClusterID}
,單擊確定。
對目標容器集群的RAM角色授權。
登錄RAM控制臺,在左側導航欄選擇身份管理>角色。
在文本框中輸入目標角色名稱,格式為
KubernetesWorkerRole-{ClusterID}
。單擊目標角色名稱后操作列的新增授權。在選擇權限區域,單擊自定義策略。
在文本框中輸入之前創建的自定義權限策略名稱,格式為
k8sWorkerRolePolicy-{ClusterID}
。單擊確定。
返回容器服務ACK控制臺的提示對話框,單擊授權檢測。如果授權成功,授權狀態顯示為已授權,且確定按鈕可用。請執行步驟3。
選擇運維控制臺訪問方式和開發控制臺訪問方式,然后單擊確定。
您可以選擇使用私網IP、私網域名或公網域名訪問服務。
生產環境中,請使用私網IP或者私網域名的方式。
公網域名方式建議僅作為測試使用。如需使用公網域名,請在本地Host文件中將需要訪問的公網域名和集群的Nginx Ingress SLB的公網IP綁定。
說明選擇私網網絡類型訪問時,在提示對話框中選中私網IP。
使用私網域名、私網IP訪問控制臺的步驟,請參見訪問AI運維控制臺。
選擇控制臺數據存儲方式。
選中控制臺后,在部署頁面交互方式下方會出現控制臺數據存儲,您可以選擇數據存儲的方式。
集群內置MySQL
如果沒有選擇阿里云RDS的存儲模式,則默認使用集群內置MySQL。因為穩定性和SLA保障問題,該方式建議僅作為測試使用,不推薦作為生產環境使用,且該方式會在組件每次安裝的時候創建一塊產生額外費用的新的云盤,這些云盤資源需要用戶自行控制釋放。
重要如果集群故障或者存儲丟失,可能會導致數據丟失。
云原生AI套件會使用云盤的StorageClass來創建一個backend為云盤的PVC作為MySQL的持久化存儲,ACK集群會創建一塊新的大小為120 GB的云盤并進行掛載,該云盤會產生一定的費用,且該云盤后續的生命周期管理不屬于ACK,請注意進行云盤的資源管理,如果不再需要請及時刪除。關于釋放云盤的操作,請參見釋放云盤。
阿里云RDS
說明使用RDS時若出現連接異常的問題,請參見解決無法連接實例問題。
如果您想要修改數據存儲方式,請卸載云原生AI套件,再重新進行安裝。如果您的集群中有名稱為
kubeai-rds
的Secret,請通過kubectl刪除。
單獨購買RDS實例并創建數據庫和賬號,操作步驟請參見云數據庫RDS快速入門,RDS的計費信息請參見計費概覽。
單擊頁面下方的部署云原生AI套件,安裝云原生AI套件。
單擊目標集群的名稱,在左側導航欄選擇配置管理>保密字典。
在頁面上方的命名空間列表中,選擇
kube-ai
。在頁面右上角,單擊使用YAML創建資源。
輸入以下YAML示例模板,創建名為
kubeai-rds
的Secret。apiVersion: v1 kind: Secret metadata: name: kubeai-rds namespace: kube-ai type: Opaque stringData: MYSQL_HOST: "Your RDS URL" MYSQL_DB_NAME: "Database name" MYSQL_USER: "Database username" MYSQL_PASSWORD: "Database password"
參數
說明
name
Secret名稱。
namespace
集群命名空間的名稱。
MYSQL_HOST
MYSQL_DB_NAME
MYSQL_USER
MYSQL_PASSWORD
RDS MySQL的參數配置,請參見快速創建RDS MySQL實例和創建數據庫和賬號。
安裝配置工作流
當工作流選中Kubeflow Pipelines后,您需要選擇工作流數據存儲方式。
集群內置MinIO
如果沒有選擇阿里云OSS的存儲模式,則默認使用集群內置MinIO。因為穩定性和SLA保障問題,該方式建議僅作為測試使用,不推薦作為生產環境使用,且該方式會在組件每次安裝的時候創建一塊產生額外費用的新的云盤,這些云盤資源需要用戶自行控制釋放。
如果集群故障或者存儲丟失,可能會導致數據丟失。
云原生AI套件會使用云盤的StorageClass來創建一個backend為云盤的PVC作為MinIO的持久化存儲,ACK集群會創建一塊新的大小為20 GB的云盤并進行掛載,該云盤會產生一定的費用且該云盤后續的生命周期管理不屬于ACK,請注意進行云盤的資源管理,如果不再需要請及時刪除。關于釋放云盤的操作,請參見釋放云盤。
阿里云OSS
如果集群中不存在kube-ai這個命名空間,則需要在集群中提前創建這個命名空間。
kubectl create ns kube-ai
安裝云原生AI套件中的Kubeflow Pipelines之前,在容器服務管理控制臺左側單擊目標集群的名稱,在左側導航欄選擇配置管理>保密字典。
在控制臺頁面上方的命名空間列表中,選擇kube-ai。
在頁面右上角,單擊使用YAML創建資源。
輸入以下YAML示例模板,點擊創建,集群會自動執行部署該YAML文件,并生成名為
kubeai-oss
的Secret。apiVersion: v1 kind: Secret metadata: name: kubeai-oss namespace: kube-ai type: Opaque stringData: ENDPOINT: "https://oss-cn-beijing.aliyuncs.com" ACCESS_KEY_ID: "****" ACCESS_KEY_SECRET: "****"
參數
說明
name
Secret名稱。
namespace
集群命名空間名稱。
說明namespace:kube-ai在您部署云原生AI套件時已自動創建,無需您再單獨執行創建操作。
ENDPOINT
OSS接入點名稱,示例中以北京為例,更多接入點信息請參見OSS地域和訪問域名。
ACCESS_KEY_ID
ACCESS_KEY_SECRET
填寫賬號的AccessKey(AK)信息。獲取AK的方式,請參見創建AccessKey。
重要為保證數據安全,推薦您使用RAM用戶的AK。使用RAM用戶登錄之前,需要為RAM用戶配置
AliyunOSSFullAccess
的權限。創建Secret后,耐心等待您的OSS管理控制臺中自動生成一個名稱為
mlpipeline-<clusterid>
的Bucket,此時說明您已成功配置阿里云OSS工作流數據存儲方式。OSS的計費請參見產品計費。成功示例如下圖所示。
最后再安裝云原生AI套件中的Kubeflow Pipelines組件即可。