すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:複数リージョンにおけるサーバーレスコンピューティングパワーのスケジューリング

最終更新日:May 22, 2025

大規模言語モデル (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 をインストールし、複数リージョンのサーバーレスコンピューティングパワーのスケジューリングを有効にする

  1. ack-virtual-node をインストールします。

    1. ack-virtual-node に RAM 権限を付与する

    2. ack-virtual-node をインストールする

    説明

    ack-virtual-node がすでにインストールされている場合は、インストールされているバージョンが 2.13.0 以降であることを確認してください。インストールされているバージョンが 2.13.0 より前の場合は、コンポーネントをアップグレード してください。

  2. ack-virtual-node を構成します。

    [アドオン] ページで、[ack-virtual-node] を見つけて、[構成] をクリックします。

    1. グローバルパラメーターを構成します。

      パラメーター

      説明

      VPC 内部アクセスを使用するかどうかを指定します

      イメージと API の両方に仮想プライベートクラウド (VPC) エンドポイントを介してアクセスできるかどうかを指定します。

      選択済み

      APIServerHost

      データセンターにある Kubernetes クラスターの API サーバーの IP アドレス。

      192.168.1.1

      APIServerPort

      データセンターにある Kubernetes クラスターの API サーバー用に公開されているポート。

      6443

      複数リージョンの仮想ノードを有効にするかどうかを指定します

      複数リージョンのサーバーレスコンピューティングパワーのスケジューリングを有効にするかどうかを指定します。複数リージョンのサーバーレスコンピューティングパワーのスケジューリングを有効にする場合は、リージョン情報を指定する必要があります。

      選択済み

    2. プライマリリージョンを指定します。

      パラメーター

      説明

      リージョン ID

      サーバーレスコンピューティングパワーが使用されるリージョンの ID。

      cn-beijing

      VPC ID

      サーバーレスコンピューティングパワーが使用される VPC の ID。

      vpc-xxxxx

      VSwitch ID

      サーバーレスコンピューティングパワーによって使用される vSwitch の ID。複数の ID はコンマ (,) で区切ります。

      vsw-xxxxx,vsw-xxxxx

      セキュリティグループ ID

      サーバーレスコンピューティングパワーによって使用されるセキュリティグループの ID。

      sg-xxxxx

      仮想ノードのリージョンをデフォルトリージョンとして使用するかどうかを指定します

      指定したリージョンをプライマリリージョンとして設定するかどうかを指定します。

      重要

      プライマリリージョンは 1 つだけ指定できます。

      選択済み

    3. セカンダリーリージョンを指定します。右下隅にある [追加] をクリックして、リージョンを追加します。

      パラメーター

      説明

      リージョン ID

      サーバーレスコンピューティングパワーが使用されるリージョンの ID。

      cn-hangzhou

      VPC ID

      サーバーレスコンピューティングパワーが使用される VPC の ID。

      vpc-xxxxx

      VSwitch ID

      サーバーレスコンピューティングパワーによって使用される vSwitch の ID。複数の ID はコンマ (,) で区切ります。

      vsw-xxxxx,vsw-xxxxx

      セキュリティグループ ID

      サーバーレスコンピューティングパワーによって使用されるセキュリティグループの ID。

      sg-xxxxx

  3. 構成が完了したら、[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"