本文介紹RDS Custom容器系列節點(AI節點或靈駿節點)如何使用私人容器鏡像部署Pod。
前提條件
已開通Container RegistryACR企業版執行個體,詳見建立Container Registry。
已完成使用ACR企業版執行個體的前置工作,包括繫結來源代碼平台、建立命名空間、建立鏡像倉庫等。詳見使用企業版執行個體構建鏡像的步驟一至三。
已建立ACK託管叢集Pro版,詳見建立ACK託管叢集。
已建立RDS Custom容器系列節點,並在ACK託管叢集Pro版中使用該節點,詳見RDS Custom容器系列節點使用手冊。
操作步驟
通過kubectl工具串連ACK叢集,詳見擷取叢集KubeConfig並通過kubectl工具串連叢集。
執行以下命令,建立Kubernetes Secret。
kubectl create secret docker-registry acr-secret-inner \ --docker-server=beijing-acr-registry-vpc.cn-beijing.cr.aliyuncs.com \ --docker-username=ACK@rctest \ --docker-password=Testpassword@123說明regsecret:指密鑰的鍵名稱,可自訂。--docker-server:指Docker倉庫地址。--docker-username:指Docker倉庫使用者名稱。--docker-password:指Docker倉庫登入密碼。
執行以下命令,驗證Secret是否建立成功。
kubectl get secrets acr-secret-inner -o yaml編寫Pod配置。
將以下完整Pod YAML儲存為
pod.yaml。apiVersion: v1 kind: Pod metadata: name: sglang-qwen3 # Pod名稱 spec: containers: - command: - sh - -c - echo hello world; sleep infinity; # 容器啟動後的命令(樣本) image: beijing-acr-registry-vpc.cn-beijing.cr.aliyuncs.com/testvnode/acr-beijing:sglang_v1 # 私人鏡像地址 imagePullPolicy: IfNotPresent # 僅在本地無鏡像時拉取(生產環境建議設為Always) name: sglang # 容器名稱 ports: - containerPort: 8000 # 容器監聽的連接埠 name: restful protocol: TCP resources: requests: cpu: "80" memory: "300Gi" nvidia.com/gpu: "8" limits: cpu: "80" memory: "300Gi" nvidia.com/gpu: "8" restartPolicy: Always # Pod失敗時重啟 imagePullSecrets: # 指定拉取私人鏡像的Secret - name: acr-secret-inner nodeSelector: # 調度到指定標籤的節點(虛擬節點) alibabacloud.com/virtual-node: "true" tolerations: # 相容虛擬節點的汙點 - effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb執行以下命令,部署Pod。
kubectl apply -f pod.yaml