このトピックでは、プライベートコンテナイメージを使用して RDS Custom コンテナシリーズノード (AI ノードまたは Lingjun ノード) に Pod をデプロイする方法について説明します。
前提条件
Container Registry (ACR) の Enterprise Edition インスタンスを有効化していること。 詳細については、「Container Registry インスタンスの作成」をご参照ください。
ACR Enterprise Edition インスタンスを使用するための前提条件タスクを完了していること。 これらのタスクには、ソースコードプラットフォームのバインド、名前空間の作成、イメージリポジトリの作成が含まれます。 詳細については、「Enterprise Edition インスタンスを使用したイメージのビルド」のステップ 1 から 3 をご参照ください。
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 yamlPod 構成ファイルを作成します。
次の内容を
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: # 指定されたラベルを持つノード (仮想ノード) に Pod をスケジュールします。 alibabacloud.com/virtual-node: "true" tolerations: # 仮想ノードの Taint を許容します。 - effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb次のコマンドを実行して Pod をデプロイします。
kubectl apply -f pod.yaml