このトピックでは、ACK マネージドクラスターを介して RDS Custom コンテナシリーズの AI ノードを作成および管理し、クラウドネイティブな Pod スケジューリングとコンテナ化されたアプリケーションのデプロイを実装する方法について説明します。
コンセプト紹介
仮想マシンシリーズ
仮想化技術 (Alibaba Cloud ECS など) に基づくコンピューティングインスタンス。各仮想マシンインスタンスは、オペレーティングシステム、カーネル、およびアプリケーションを含む完全な仮想コンピューターです。仮想マシンシリーズは ECS の運用およびメンテナンスプラクティスと互換性があり、SSH を介してホストにログインできます。
仮想マシンシリーズは、Standard Edition、Yitian Edition、および AI ノードをサポートしています。
コンテナシリーズ
コンテナシリーズは、仮想ノード (VNode) インスタンスとも呼ばれ、ログインできない基盤となる計算ノードとして仮想化リソースを使用します。コンテナオーケストレーションシステム (Kubernetes など) を介して仮想ノード上の Pod インスタンスをスケジュールおよび管理でき、Pod レベルの操作権限を持ちますが、基盤となるノードのオペレーティングシステムやハードウェアリソースに直接アクセスしたり制御したりすることはできません。
コンテナシリーズは、AI ノードと Lingjun ノードをサポートしています。
AI ノード
AI ノードは、通常の ECS GPU (EGS) インスタンスに対応します。これらは、人工知能 (AI) タスクに最適化された計算ノードであり、通常はパフォーマンス専有型の GPU または AI アクセラレーションチップを搭載しており、機械学習モデルのトレーニング、推論、ディープラーニング、およびその他のシナリオに適しています。
Lingjun ノード
Lingjun は、Alibaba Cloud のパフォーマンス専有型 AI コンピューティングサービスであり、統合されたソフトウェアとハードウェア設計を備え、大規模な AI トレーニングと科学計算に異種計算能力を提供するために特別に作成されました。
ステップ 1: ACK マネージドクラスター Pro 版を作成する
ACK マネージドクラスター Pro 版を作成し、コンソールの [基本情報] ページからクラスター ID、VPC、および vSwitch 情報を取得します。詳細については、「ACK マネージドクラスターの作成」をご参照ください。
すでに ACK マネージドクラスターがある場合は、このステップをスキップできます。
RDS Custom コンテナノードは、ネットワークプラグインとして Terway を使用する ACK マネージドクラスターのみをサポートします。ACK マネージドクラスター Pro 版を作成するときは、[ネットワークプラグイン] を [Terway] として選択する必要があります。
ステップ 2: RDS Custom コンテナシリーズの AI ノードを作成する
RDS 管理コンソールにログインし、左側のナビゲーションウィンドウで RDS Custom > カスタムインスタンスリスト をクリックします。
[インスタンスの作成] をクリックし、購入ページでパラメーターを構成します。詳細なパラメーターについては、「RDS Custom インスタンスの作成」をご参照ください。
パラメーター
説明
データベースタイプ
RDS Custom を選択します。
リージョン
ACK マネージドクラスターが配置されているリージョンを選択します。
製品シリーズ
[コンテナシリーズ] を選択します。
ACK クラスター
ステップ 1 で作成した ACK マネージドクラスターを選択します。
接続情報
RDS Custom コンテナシリーズの AI ノードを初めて作成するときは、KubeConfig を入力する必要があります。
ページの [接続情報を取得] をクリックして、ACK の [クラスター情報] ページに移動します。
[接続情報] タブを選択し、[長期 KubeConfig の取得] をクリックします。
内部ネットワークアクセスセクションから完全な
client-certificate-data情報をコピーします。RDS Custom 購入ページの [接続情報] の最初の入力ボックスに
client-certificate-data情報を入力します。内部ネットワークアクセスセクションから完全な
client-key-data情報をコピーします。RDS Custom 購入ページの [接続情報] の 2 番目の入力ボックスに
client-key-data情報を入力します。
VPC
ACK マネージドクラスターの VPC を選択します。
VSwitch
ACK マネージドクラスターの vSwitch を選択します。
インスタンスタイプ
現在、[AI ノード] アーキテクチャのみがサポートされています。
ストレージタイプは [ディスク] のみをサポートします。
今すぐ支払い をクリックして支払いを完了します。
管理コンソールに戻り、左側のナビゲーションウィンドウで RDS Custom > カスタムインスタンスリスト をクリックします。ページの上部で、インスタンスを作成したときに選択したリージョンを選択し、作成時間に基づいて新しく作成されたインスタンスを見つけます。
説明インスタンスの作成には約 1〜10 分かかります。ページをリフレッシュして確認することをお勧めします。
RDS Custom コンテナシリーズの AI ノードインスタンスは、課金方法の切り替え、更新、およびサブスクリプション解除操作をサポートしますが、仕様のアップグレードまたはダウングレード、ストレージ容量のスケーリングはサポートしません。
ステップ 3: ACK クラスターで RDS Custom コンテナシリーズの AI ノードを使用する
Container Service for Kubernetes (ACK) コンソールにログインし、左側のナビゲーションウィンドウで クラスター を選択します。
[クラスター] ページで、ターゲットクラスターの名前をクリックします。左側のナビゲーションウィンドウで を選択してノード情報を表示します。
左側のナビゲーションウィンドウで、クラスター情報 を選択します。
[クラスター情報] ページで、右上隅にある [ワークベンチを使用してクラスターを管理] をクリックします。
ターミナルインターフェイスで、kubectl コマンドを実行してクラスターの接続性を確認します。
このコマンド例では、ノード情報をクエリします。
kubectl get node vn-frzqv6g28****期待される出力:
NAME STATUS ROLES AGE VERSION vn-frzqv6g28**** Active <none> 25m V1.24.2-sharer.1.1-082dafbcabcd88
ステップ 4: Pod を RDS Custom コンテナシリーズの AI ノードにスケジュールする
Container Service for Kubernetes (ACK) コンソールにログインし、左側のナビゲーションウィンドウで クラスター を選択します。
[クラスター] ページで、ターゲットクラスターの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[Pod] ページで、[YAML から作成] をクリックし、テンプレートを構成して、構成が完了したら [作成] をクリックします。
spec.containers.imageパラメーターを使用してイメージアドレスを構成します。さまざまなリージョンの RDS Custom コンテナシリーズのイメージアドレスについては、「コンテナシリーズのイメージリスト」をご参照ください。説明大規模モデルを扱うユーザー向けに、RDS Custom は SgLang と vLLM の両方の環境用のコンテナイメージを提供します。また、独自のイメージリポジトリのイメージを使用してコンテナを起動することもできます。
Pod を RDS Custom コンテナノードにスケジュールするには、特定の
nodeSelectorとtolerationsを設定する必要があります。詳細については、「nodeSelector と tolerations の構成」をご参照ください。説明システムコンポーネントの Pod が RDS Custom コンテナノードにスケジュールされてリソースを占有するのを防ぐために、RDS Custom コンテナノードには次のデフォルト情報があります。
ラベル:
alibabacloud.com/virtual-node: trueTaint:
effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb
nodeSelectorはalibabacloud.com/virtual-node: "true"に設定するか、対応するノードの vnodeId 情報rm.alibaba-inc.com/vnodeId: "vn-e45b77245bb09b5e"を見つける必要があります。tolerationsは次のように設定する必要があります:tolerations: - effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb
完全な例:
説明以下のコード例では、
test-podという名前の Pod を構成し、リソース制限、ヘルスチェック、ノードアフィニティを通じてクラウドネイティブ環境でコンテナ化されたサービスデプロイを実装します。# Pod の構成 apiVersion: v1 kind: Pod metadata: name: test-pod # 重複を避けるために一意の名前を使用します spec: containers: - command: - sh - -c - echo hello world; sleep infinity; image: aliclouddb-pub-registry-vpc.cn-beijing.cr.aliyuncs.com/aliclouddb-public/des-ai-nv:25.05-sglang0.4.6.post4-pytorch2.6-cu124-20250513-serverless imagePullPolicy: IfNotPresent name: sglang ports: - containerPort: 8000 # コンテナのリッスンポート name: restful protocol: TCP resources: requests: cpu: "10" # 要求された CPU リソース memory: "80Gi" # 要求されたメモリリソース limits: cpu: "20" # CPU 制限 memory: "100Gi" # メモリ制限 restartPolicy: Always nodeSelector: alibabacloud.com/virtual-node: "true" # このラベルを持つ仮想ノードにのみスケジュールします tolerations: - effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb