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

Container Registry:ACK クラスタに P2P アクセラレーションエージェントをインストールする

最終更新日:Aug 16, 2025

Container Service for Kubernetes(ACK)クラスタの P2P アクセラレーション機能を使用して、イメージプルを高速化し、アプリケーションのデプロイに必要な時間を短縮できます。このトピックでは、ACK クラスタに P2P アクセラレーションエージェントをインストールする方法について説明します。

前提条件

イメージ使用量の制限

ビジネスコンテナイメージが、大規模モデルなどの超大型イメージである場合、ノードのデータディスクが AutoPL タイプであるか、ノードに P2P データキャッシング用に 8 GB 以上の空きメモリがあることを確認して、P2P データプルの効率を向上させてください。

ステップ 1:Container Registry Enterprise Edition インスタンスの ID を取得し、P2P アクセラレーション機能を有効にする

  1. [Container Registry コンソール] にログインします。

  2. 上部のナビゲーションバーで、リージョンを選択します。

  3. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。

  4. [インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。

  5. [概要] ページで、Container Registry Enterprise Edition インスタンスの [インスタンス ID] を記録し、[コンポーネント設定] セクションで [P2P アクセラレーション] をオンにします。表示されるメッセージで、[OK] をクリックします。

    警告

    P2P アクセラレーションエージェントを無効にする前に、P2P 機能の使用を停止し、P2P エージェントがインストールされているすべてのクラスターから P2P エージェントをアンインストールする必要があります。機能を再度有効にする場合は、P2P エージェントを再インストールする必要があります。

    image

ステップ 2:P2P エージェントをインストールし、P2P エージェントに対応する権限を付与する

次のいずれかの方法を使用して、P2P エージェントに Container Registry Enterprise Edition インスタンスへのアクセス権を付与できます。

  • ワーカー RAM ロールを使用する。

    制限:Container Registry Enterprise Edition インスタンスと ACK クラスタは、同じ Alibaba Cloud アカウントに属している必要があります。

  • RAM ユーザーの AccessKey ペアを使用する。

  • RAM Roles for Service Accounts(RRSA)機能を使用する。

    制限:クラスターは、Kubernetes 1.22 以降を実行する ACK マネージドクラスターである必要があります。

ワーカー RAM ロールを使用して、P2P エージェントに Container Registry Enterprise Edition インスタンスへのアクセス権を付与し、エージェントをインストールする

  1. [ACK コンソール] にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、ターゲットクラスターを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、[クラスター情報] をクリックします。

  3. [クラスター情報] ページで、[基本情報] タブをクリックします。[クラスターリソース] セクションで、[ワーカー RAM ロール] の右側の名前をコピーし、リンクをクリックして [RAM] コンソールに入り、ワーカー RAM ロールに権限を付与します。

    1. 次のカスタム権限ポリシーを作成します。カスタムポリシーの作成 を参照してください。

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "cr:GetInstanceVpcEndpoint",
                      "cr:ListInstanceEndpoint"
                  ],
                  "Resource": "*"
              }
          ]
      }
    2. [RAM ロール] ページで、ワーカー RAM ロールを検索し、上記で作成したカスタム権限ポリシーを付与します。詳細な手順については、「RAM ロールに権限を付与する」をご参照ください。

  4. [ACK コンソール] にログインします。左側のナビゲーションウィンドウで、[マーケットプレイス] > [マーケットプレイス] を選択します。

  5. [アプリカタログ] ページで、検索ボックスに [ack-acr-acceleration-p2p] と入力し、対応するエージェントを見つけ、エージェントのカードをクリックします。

  6. エージェントの詳細ページで、右上隅にある [デプロイ] をクリックします。

  7. [作成] パネルで、[クラスター][名前空間] を設定し、リリース名を設定して、[次へ] をクリックします。

  8. [パラメーター] パネルで、チャートバージョンを最新バージョンに設定し、acrInstances をステップ 1 で取得した Container Registry Enterprise Edition インスタンスの ID に設定します。複数の Container Registry Enterprise Edition インスタンスがある場合は、acrInstances を設定するときに ID をカンマ(,)で区切ります。

    # ID of ACR EE instances, support multi, e.g. "cri-xxx,cri-yyy"
    acrInstances: ""
    
    
    # Region of ACR EE instance, default is the region of the cluster on the cloud.
    # Need to be set if cross-regional access on the cloud cluster, or access on your IDC cluster.
    region: ""
    
    # VPC which is connected to the VPC network of the ACR EE instance, default is the VPC of the cluster on the cloud.
    # Need to be set if cross-regional access on the cloud cluster, or access on your IDC cluster through VPC network.
    vpcId: ""
    
    
    p2p:
      # Port of P2P Agent in host network
      port: 65001
    説明
    • デフォルトでは、P2P エージェントはノードのポート 65001 を使用します。ポート 65001 が別のエージェントによって占有されている場合は、P2P エージェントのポートを変更します。

    • ACK クラスタと Container Registry Enterprise Edition インスタンスが同じリージョンにある場合は、region パラメーターと vpcId パラメーターを空のままにすることができます。ACK クラスタと Container Registry Enterprise Edition インスタンスが異なるリージョンにある場合は、region パラメーターを Container Registry Enterprise Edition インスタンスが存在するリージョンに設定し、vpcId パラメーターを Container Registry Enterprise Edition インスタンスに関連付けられている VPC の ID に設定する必要があります。

    • ビジネスコンテナイメージが、大規模モデルなどの超大型イメージである場合、ノードの状態に基づいて P2P データのキャッシュモードを調整する必要があります。

      • データディスクベースのキャッシュモード:これは P2P データのデフォルトのキャッシュモードです。ノードのデータディスクが AutoPL タイプであり、p2p.v2.cache.mode の値が disk であることを確認してください。

      • メモリベースのキャッシュモード:ノードに 8 GB 以上の空きメモリがあり、p2p.v2.cache.mode の値が memory であることを確認してください。

RAM ユーザーの AccessKey ペアを使用して、P2P エージェントに Container Registry Enterprise Edition インスタンスへのアクセス権を付与し、エージェントをインストールする

  1. RAM ユーザーを作成します。詳細については、「RAM ユーザーを作成する」をご参照ください。

  2. 次の権限を RAM ユーザーに追加し、RAM ユーザーの AccessKey ペアを取得します。詳細については、「RAM ユーザーの AccessKey ペアに関する情報を表示する」をご参照ください。

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "cr:GetInstanceVpcEndpoint",
                    "cr:ListInstanceEndpoint"
                ],
                "Resource": "*"
            }
        ]
    }
  3. [ACK コンソール] にログインします。左側のナビゲーションウィンドウで、[マーケットプレイス] > [マーケットプレイス] を選択します。

  4. [アプリカタログ] ページで、検索ボックスに [ack-acr-acceleration-p2p] と入力し、対応するエージェントを見つけ、エージェントのカードをクリックします。

  5. エージェントの詳細ページで、右上隅にある [デプロイ] をクリックします。

  6. [作成] パネルで、[クラスター][名前空間] を設定し、リリース名を設定して、[次へ] をクリックします。

  7. [パラメーター] パネルで、チャートバージョンを最新バージョンに設定し、acrInstances をステップ 1 で取得した Container Registry Enterprise Edition インスタンスの ID に設定します。複数の Container Registry Enterprise Edition インスタンスがある場合は、acrInstances を設定するときに ID をカンマ(,)で区切ります。取得した AccessKey ID と AccessKey シークレットを入力します。

    # ID of ACR EE instances, support multi, e.g. "cri-xxx,cri-yyy"
    acrInstances: ""
    
    
    # Please fill in the following parameters if the K8s cluster is built in your own IDC
    accessKey: ""
    accessKeySecret: ""
    
    # Region of ACR EE instance, default is the region of the cluster on the cloud.
    # Need to be set if cross-regional access on the cloud cluster, or access on your IDC cluster.
    region: ""
    
    # VPC which is connected to the VPC network of the ACR EE instance, default is the VPC of the cluster on the cloud.
    # Need to be set if cross-regional access on the cloud cluster, or access on your IDC cluster through VPC network.
    vpcId: ""
    
    
    p2p:
      # Port of P2P Agent in host network
      port: 65001
    説明
    • デフォルトでは、P2P エージェントはノードのポート 65001 を使用します。ポート 65001 が別のエージェントによって占有されている場合は、P2P エージェントのポートを変更します。

    • ACK クラスタと Container Registry Enterprise Edition インスタンスが同じリージョンにある場合は、region パラメーターと vpcId パラメーターを空のままにすることができます。ACK クラスタと Container Registry Enterprise Edition インスタンスが異なるリージョンにある場合は、region パラメーターを Container Registry Enterprise Edition インスタンスが存在するリージョンに設定し、vpcId パラメーターを Container Registry Enterprise Edition インスタンスに関連付けられている VPC の ID に設定する必要があります。

    • ビジネスコンテナイメージが、大規模モデルなどの超大型イメージである場合、ノードの状態に基づいて P2P データのキャッシュモードを調整する必要があります。

      • データディスクベースのキャッシュモード:これは P2P データのデフォルトのキャッシュモードです。ノードのデータディスクが AutoPL タイプであり、p2p.v2.cache.mode の値が disk であることを確認してください。

      • メモリベースのキャッシュモード:ノードに 8 GB 以上の空きメモリがあり、p2p.v2.cache.mode の値が memory であることを確認してください。

RRSA 機能を使用して、P2P エージェントに Container Registry Enterprise Edition インスタンスへのアクセス権を付与し、エージェントをインストールする

RRSA 機能を使用して、クラスター内のポッドに対してアクセス制御を実行できます。

RRSA 機能は、バージョン 1.22 以降の Kubernetes クラスターでのみ使用できます。

重要
  • RRSA 機能を有効にするには、P2P エージェントを v0.3.6 以降にアップグレードする必要があります。

  • P2P エージェントの RRSA 機能を有効にするには、ACK コンソールの [クラスター情報] ページの [基本情報] タブで RRSA を有効にしてから、P2P エージェントの RRSA を設定する必要があります。操作シーケンスを逆にして、P2P エージェントの RRSA を設定してから、ACK コンソールの [クラスター情報] ページの [基本情報] タブで RRSA を有効にした場合は、RRSA を設定した後に P2P エージェントをアンインストールして再インストールする必要があります。これにより、RRSA 機能が有効になります。

  1. クラスターの RRSA 機能を有効にします。詳細については、「RRSA を使用して、異なるポッドに異なるクラウドサービスへのアクセスを許可する」をご参照ください。

  2. Container Registry Enterprise Edition インスタンスにアクセスするように RRSA ロールを設定します。

    • Container Registry Enterprise Edition インスタンスと ACK クラスタが同じ Alibaba Cloud アカウントに属している。

      たとえば、アカウント A が Container Registry Enterprise Edition インスタンスと ACK クラスタの所有者である場合、アカウント A の RAM ロールを作成します。詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールを作成する」をご参照ください。次の権限ポリシーを RAM ロールにアタッチします。

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "cr:GetInstanceVpcEndpoint",
                      "cr:ListInstanceEndpoint"
                  ],
                  "Resource": "*"
              }
          ]
      }
      説明
      • サンプルコードの <oidc_issuer_url> を、ACK クラスタの OpenID Connect(OIDC)ID プロバイダー(IdP)の URL に置き換えます。URL は、[ACK コンソール][クラスター情報] ページの [基本情報] タブで取得できます。

      • サンプルコード内の <oidc_provider_arn> を、ACK クラスターの OIDC IdP ARN (Alibaba Cloud リソースネーム) に置き換えます。 ARN は、ACK コンソール[クラスター情報] ページの [基本情報] タブで取得できます。

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Condition": {
              "StringEquals": {
                "oidc:aud": [
                  "sts.aliyuncs.com"
                ],
                "oidc:iss": "<oidc_issuer_url>",
                "oidc:sub": [
                  "system:serviceaccount:aliyun-acr-acceleration:ack-acr-acceleration-p2p-job-sa",
                  "system:serviceaccount:aliyun-acr-acceleration:ack-acr-acceleration-p2p-sa"
                ]
              }
            },
            "Effect": "Allow",
            "Principal": {
              "Federated": [
                "<oidc_provider_arn>"
              ]
            }
          }
        ],
        "Version": "1"
      }
    • Container Registry Enterprise Edition インスタンスと ACK クラスタが異なる Alibaba Cloud アカウントに属している。

      たとえば、アカウント A が ACK クラスタの所有者で、アカウント B が Container Registry Enterprise Edition インスタンスの所有者である場合、アカウント A の ACK クラスタがアカウント B の Container Registry Enterprise Edition インスタンスにアクセスできるように承認する必要があります。

      アカウント A の RAM ロールを作成します。詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールを作成する」をご参照ください。AliyunSTSAssumeRoleAccess ポリシーをアカウント A の RAM ロールにアタッチします。このポリシーは、アカウント A の RAM ロールにアカウント B の RAM ロールをアシュームする権限を付与します。アカウント A の信頼ポリシーを変更します。

      説明
      • サンプルコードの <oidc_issuer_url> を、ACK クラスタの OIDC IdP の URL に置き換えます。URL は、[ACK コンソール][クラスター情報] ページの [基本情報] タブで取得できます。

      • サンプルコード内の <oidc_provider_arn> を、ACK クラスターの OIDC IdP ARN に置き換えます。 ARN は、ACK コンソール[クラスター情報] ページの [基本情報] タブで取得できます。

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Condition": {
              "StringEquals": {
                "oidc:aud": [
                  "sts.aliyuncs.com"
                ],
                "oidc:iss": "<oidc_issuer_url>",
                "oidc:sub": [
                  "system:serviceaccount:aliyun-acr-acceleration:ack-acr-acceleration-p2p-job-sa",
                  "system:serviceaccount:aliyun-acr-acceleration:ack-acr-acceleration-p2p-sa"
                ]
              }
            },
            "Effect": "Allow",
            "Principal": {
              "Federated": [
                "<oidc_provider_arn>"
              ]
            }
          }
        ],
        "Version": "1"
      }

      Container Registry Enterprise Edition インスタンスへのアクセス権を持つアカウント B の RAM ロールを作成し、[信頼ポリシー] をクリックして、アカウント A の RAM ロールの ARN を追加します。次のポリシーをアカウント B の RAM ロールにアタッチして、次の権限をアカウント B の RAM ロールに付与します。

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "cr:GetInstanceVpcEndpoint",
                      "cr:ListInstanceEndpoint"
                  ],
                  "Resource": "*"
              }
          ]
      }
      説明

      アカウント B の RAM ロールの MaxSessionDuration パラメーターを設定できます。MaxSessionDuration パラメーターの有効値の範囲は 3600 ~ 43200 秒です。次のステップ 7 で RRSA 機能を設定するときに、expireDuration パラメーターを設定する必要があります。MaxSessionDurationexpireDuration に同じ値を指定することをお勧めします。expireDuration の値は、MaxSessionDuration の値以下にすることができます。

  3. [ACK コンソール] にログインします。左側のナビゲーションウィンドウで、[マーケットプレイス] > [マーケットプレイス] を選択します。

  4. [アプリカタログ] ページで、検索ボックスに [ack-acr-acceleration-p2p] と入力し、対応するエージェントを見つけ、エージェントのカードをクリックします。

  5. エージェントの詳細ページで、右上隅にある [デプロイ] をクリックします。

  6. [作成] パネルで、[クラスター][名前空間] を設定し、リリース名を設定して、[次へ] をクリックします。

  7. [パラメーター] パネルで、チャートバージョンを最新バージョンに設定し、registryInstances をステップ 1 で取得した Container Registry Enterprise Edition インスタンスの ID に設定します。複数の Container Registry Enterprise Edition インスタンスがある場合は、registryInstances を設定するときに ID をカンマ(,)で区切ります。次の表に、RRSA 機能を設定するときに設定する必要のあるパラメーターを示します。

    パラメーター

    説明

    rrsa.enable

    RRSA 機能を有効にするかどうかを指定します。

    true

    rrsa.rrsaRoleARN

    アカウント A に作成した RAM ロールの ARN。

    acs:ram::aaa

    rrsa.rrsaOIDCProviderRoleARN

    ACK コンソールのクラスター情報ページの基本情報タブで取得した OIDC IdP の ARN。

    acs:ram::bbb

    rrsa.assumeRoleARN

    アカウント B に作成した RAM ロールの ARN。Container Registry Enterprise Edition インスタンスと ACK クラスタが同じ Alibaba Cloud アカウントに属している場合は、このパラメーターを空のままにします。

    acs:ram::ccc

    rrsa.expireDuration

    アカウント B に作成した RAM ロールのセッション期間。セッション期間は、aliyun-acr-credential-helper によって生成されるシークレットの有効期間と同じです。Container Registry Enterprise Edition インスタンスと ACK クラスタが同じ Alibaba Cloud アカウントに属している場合は、このパラメーターを空のままにします。

    重要

    expireDuration の値は、アカウント B の RAM ロールの MaxSessionDuration の値より大きくすることはできません。

    デフォルト値:3600。有効値:3600 ~ 43200。単位:秒。

    アカウント B の RAM ロールの MaxSessionDuration パラメーターを 43200 に設定します。

    その他のパラメーターについては、「付録」をご参照ください。

    説明
    • デフォルトでは、P2P エージェントはノードのポート 65001 を使用します。ポート 65001 が別のエージェントによって占有されている場合は、P2P エージェントのポートを変更します。

    • ACK クラスタと Container Registry Enterprise Edition インスタンスが同じリージョンにある場合は、region パラメーターと vpcId パラメーターを空のままにすることができます。ACK クラスタと Container Registry Enterprise Edition インスタンスが異なるリージョンにある場合は、region パラメーターを Container Registry Enterprise Edition インスタンスが存在するリージョンに設定し、vpcId パラメーターを Container Registry Enterprise Edition インスタンスに関連付けられている VPC の ID に設定する必要があります。

    • ビジネスコンテナイメージが、大規模モデルなどの超大型イメージである場合、ノードの状態に基づいて P2P データのキャッシュモードを調整する必要があります。

      • データディスクベースのキャッシュモード:これは P2P データのデフォルトのキャッシュモードです。ノードのデータディスクが AutoPL タイプであり、p2p.v2.cache.mode の値が disk であることを確認してください。

      • メモリベースのキャッシュモード:ノードに 8 GB 以上の空きメモリがあり、p2p.v2.cache.mode の値が memory であることを確認してください。

    # ID of ACR EE instances, support multi, e.g. "cri-xxx,cri-yyy"
    acrInstances: ""
    
    rrsa:
      enable: true
      rrsaRoleARN: ""
      rrsaOIDCProviderRoleARN: ""
      assumeRoleARN: ""
      expireDuration: 3600
    
    # Region of ACR EE instance, default is the region of the cluster on the cloud.
    # Need to be set if cross-regional access on the cloud cluster, or access on your IDC cluster.
    region: ""
    
    # VPC which is connected to the VPC network of the ACR EE instance, default is the VPC of the cluster on the cloud.
    # Need to be set if cross-regional access on the cloud cluster, or access on your IDC cluster through VPC network.
    vpcId: ""
    
    
    p2p:
      # Port of P2P Agent in host network
      port: 65001

付録

次の表に、ack-acr-acceleration-p2p エージェントのその他のパラメーターを示します。

データキャッシング関連のパラメーター

データディスクベースのキャッシュモードのデフォルト値

メモリベースのキャッシュモードのデフォルト値

説明

blocksize

256

256

データソース Object Storage Service(OSS)への単一のリクエストにおけるシャードのサイズ。

capacity

4294967296

0

ディスクキャッシュのサイズ。

optionBlockSize

67108864

8589934592

メモリキャッシュのサイズ。単位:GB。

  • データディスクベースのキャッシュモードでは、P2P エージェントはメモリレベルとディスクレベルでデータをキャッシュし、optionBlockSize パラメーターはメモリレベルキャッシュのサイズを指定します。

  • メモリベースのキャッシュモードでは、このパラメーター値はメモリキャッシュのサイズと同じです。

memoryCacheCapacityGB

1

8

  • 単位:GB。データディスクベースのキャッシュモードでは、デフォルト値を使用します。

  • メモリベースのキャッシュモードでは、このパラメーター値は optionBlockSize パラメーターの値と同じです。

aio

0

0

このパラメーターは、libaio(Linux ネイティブ非同期 I/O)ライブラリを有効にするために使用されます。このパラメーターは、メモリベースのキャッシュモードでは無効です。

  • データディスクベースのキャッシュモードで、ack-acr-acceleration-p2p エージェントの autoPL 機能を有効にし、ディスクパフォーマンスレベルを PL3 に設定した場合、このパラメーターを使用してデータ I/O パフォーマンスを向上させることができます。

  • データディスクベースのキャッシュモードで、ディスクパフォーマンスレベルを PL0 または PL1 に設定した場合、AIO(非同期 I/O)のディスク書き込み時間が長くなると、P2P ネットワーク全体で多数のタイムアウト例外が発生する可能性があります。

DeployConfig

proxyFsParallels

128

P2P エージェントが並行して処理できるリクエストの最大数。

AgentConfig

connectTimeout (s)

5

P2P エージェントがアップストリームノードとの接続を確立するためのタイムアウト期間。単位:秒。

transferTimeout (s)

15

P2P エージェントがアップストリームノードからデータ転送を受信するためのタイムアウト期間。単位:秒。値を 15 に設定します。