大規模言語モデル (LLM) のトレーニングおよびモデル推論シナリオでは、特定の GPU モデルが利用できない場合や、GPU リソースがリージョンで在庫切れになっている場合があります。このような場合、リージョンで提供されるコンピューティングパワーが不足し、コンピューティングジョブがリージョンで保留状態になる可能性があります。分散型クラウドコンテナプラットフォーム for Kubernetes (ACK One) が提供する 登録済みクラスター は、Container Service for Kubernetes (ACK) の仮想ノードを使用して、複数リージョンのサーバーレスコンピューティングリソースを Kubernetes クラスターにシームレスに追加します。これにより、GPU リソースを動的にスケジューリングし、リージョン全体で GPU リソースを一元管理できます。ACK One の登録済みクラスターを使用すると、複数リージョンシナリオでのリソースのボトルネックを解消し、特定のリージョンで異種コンピューティングリソースをオンデマンドで利用し、GPU モデルの利用不可や在庫不足による GPU リソースのスケジューリングエラーを防ぐことができます。これにより、リソース使用率と業務継続性が大幅に向上し、ハイブリッドクラウドデプロイの複雑さとコストを削減できます。
仕組み
前の図のリージョン情報は、サーバーレスコンピューティングリソースのリージョン ID を示しています。たとえば、中国 (張家口) リージョンの ID は cn-zhangjiakou です。
作成するサーバーレスポッドごとに、ACK の仮想ノードがクラウド上のサーバーレスコンピューティングインスタンスを作成します。追加のノードを維持する必要はありません。
データセンターは、Express Connect 回線を使用して複数リージョンの仮想プライベートクラウド (VPC) に接続します。
前提条件
ACK One 登録済みクラスターが作成され、データセンターまたは別のクラウド サービス プロバイダー (Kubernetes 1.24 以降を推奨) の Kubernetes クラスターに接続されていること。
ack-virtual-node をインストールし、複数リージョンのサーバーレスコンピューティングパワーのスケジューリングを有効にする
ack-virtual-node をインストールします。
説明ack-virtual-node がすでにインストールされている場合は、インストールされているバージョンが 2.13.0 以降であることを確認してください。インストールされているバージョンが 2.13.0 より前の場合は、コンポーネントをアップグレード してください。
ack-virtual-node を構成します。
[アドオン] ページで、[ack-virtual-node] を見つけて、[構成] をクリックします。
グローバルパラメーターを構成します。
パラメーター
説明
例
VPC 内部アクセスを使用するかどうかを指定します
イメージと API の両方に仮想プライベートクラウド (VPC) エンドポイントを介してアクセスできるかどうかを指定します。
選択済み
APIServerHost
データセンターにある Kubernetes クラスターの API サーバーの IP アドレス。
192.168.1.1
APIServerPort
データセンターにある Kubernetes クラスターの API サーバー用に公開されているポート。
6443
複数リージョンの仮想ノードを有効にするかどうかを指定します
複数リージョンのサーバーレスコンピューティングパワーのスケジューリングを有効にするかどうかを指定します。複数リージョンのサーバーレスコンピューティングパワーのスケジューリングを有効にする場合は、リージョン情報を指定する必要があります。
選択済み
プライマリリージョンを指定します。
パラメーター
説明
例
リージョン ID
サーバーレスコンピューティングパワーが使用されるリージョンの ID。
cn-beijing
VPC ID
サーバーレスコンピューティングパワーが使用される VPC の ID。
vpc-xxxxx
VSwitch ID
サーバーレスコンピューティングパワーによって使用される vSwitch の ID。複数の ID はコンマ (,) で区切ります。
vsw-xxxxx,vsw-xxxxx
セキュリティグループ ID
サーバーレスコンピューティングパワーによって使用されるセキュリティグループの ID。
sg-xxxxx
仮想ノードのリージョンをデフォルトリージョンとして使用するかどうかを指定します
指定したリージョンをプライマリリージョンとして設定するかどうかを指定します。
重要プライマリリージョンは 1 つだけ指定できます。
選択済み
セカンダリーリージョンを指定します。右下隅にある [追加] をクリックして、リージョンを追加します。
パラメーター
説明
例
リージョン ID
サーバーレスコンピューティングパワーが使用されるリージョンの ID。
cn-hangzhou
VPC ID
サーバーレスコンピューティングパワーが使用される VPC の ID。
vpc-xxxxx
VSwitch ID
サーバーレスコンピューティングパワーによって使用される vSwitch の ID。複数の ID はコンマ (,) で区切ります。
vsw-xxxxx,vsw-xxxxx
セキュリティグループ ID
サーバーレスコンピューティングパワーによって使用されるセキュリティグループの ID。
sg-xxxxx
構成が完了したら、[OK] をクリックします。
例
CPU シナリオ
デフォルトリージョンを使用します。
apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx-default-region name: nginx-deployment-default-region namespace: default spec: replicas: 1 selector: matchLabels: app: nginx-default-region template: metadata: labels: alibabacloud.com/acs: "true" alibabacloud.com/compute-class: general-purpose alibabacloud.com/compute-qos: default app: nginx-default-region spec: containers: - image: 'mirrors-ssl.aliyuncs.com/nginx:stable-alpine' imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 protocol: TCPサーバーレスコンピューティングパワーのリージョンを指定します。
alibabacloud.com/serverless-region-id: <RegionID>ラベルを追加する必要があります。apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx-specified-region name: nginx-deployment-specified-region namespace: default spec: replicas: 1 selector: matchLabels: app: nginx-specified-region template: metadata: labels: alibabacloud.com/acs: "true" alibabacloud.com/compute-class: general-purpose alibabacloud.com/compute-qos: default alibabacloud.com/serverless-region-id: cn-beijing # リージョンを指定します。 app: nginx-specified-region spec: containers: - image: 'mirrors-ssl.aliyuncs.com/nginx:stable-alpine' imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 protocol: TCP
GPU シナリオ
デフォルトリージョンを使用します。
apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx-gpu-default-region name: nginx-gpu-deployment-default-region namespace: default spec: replicas: 1 selector: matchLabels: app: nginx-gpu-default-region template: metadata: labels: alibabacloud.com/acs: "true" alibabacloud.com/compute-class: gpu alibabacloud.com/compute-qos: default alibabacloud.com/gpu-model-series: example-model # GPU モデル。使用する実際のモデル (例: T4) を指定します。 app: nginx-gpu-default-region spec: containers: - image: 'mirrors-ssl.aliyuncs.com/nginx:stable-alpine' imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 protocol: TCP resources: limits: cpu: 1 memory: 1Gi nvidia.com/gpu: "1" requests: cpu: 1 memory: 1Gi nvidia.com/gpu: "1"サーバーレスコンピューティングパワーのリージョンを指定します。
alibabacloud.com/serverless-region-id: <RegionID>ラベルを追加する必要があります。apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx-gpu-specified-region name: nginx-gpu-deployment-specified-region namespace: default spec: replicas: 1 selector: matchLabels: app: nginx-gpu-specified-region template: metadata: labels: alibabacloud.com/acs: "true" alibabacloud.com/compute-class: gpu alibabacloud.com/compute-qos: default alibabacloud.com/gpu-model-series: example-model # GPU モデル。使用する実際のモデル (例: T4) を指定します。 alibabacloud.com/serverless-region-id: cn-beijing # リージョンを指定します。 app: nginx-gpu-specified-region spec: containers: - image: 'mirrors-ssl.aliyuncs.com/nginx:stable-alpine' imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 protocol: TCP resources: limits: cpu: 1 memory: 1Gi nvidia.com/gpu: "1" requests: cpu: 1 memory: 1Gi nvidia.com/gpu: "1"