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

Container Service for Kubernetes:ディスクカテゴリの変更

最終更新日:Nov 09, 2025

Container Service for Kubernetes (ACK) を使用すると、さまざまなシナリオのストレージ要件と予算に基づいて、ACK クラスターに複数カテゴリのクラウドディスクを作成できます。ACK では、進化するビジネス要件に合わせてディスクカテゴリを変更することもできます。たとえば、最初にアプリケーション用に標準 SSD を作成したが、より高い IOPS が必要になった場合、ディスクカテゴリを標準 SSD から企業向け SSD (ESSD) にスペックアップできます。

前提条件

  • クラスターが Kubernetes 1.20 以降を使用しており、Container Storage Interface (CSI) プラグインがインストールされていること。

    クラスターをスペックアップする方法の詳細については、「クラスターを手動でスペックアップする」をご参照ください。

  • クラスターに storage-operator 1.26.1-50a1499-aliyun 以降がインストールされていること。

    説明

    デフォルトでは、storage-operator コンポーネントはクラスターにインストールされています。ACK コンソールのクラスター詳細ページに移動できます。クラスター詳細ページの左側のナビゲーションウィンドウで、[運用管理] > [アドオン] を選択し、[ストレージ] タブをクリックして、storage-operator がインストールされているかどうかを確認し、そのバージョンを表示します。詳細については、「storage-operator コンポーネントの管理」をご参照ください。

  • クラスターが ACK 専用クラスターの場合、クラスターのワーカー Resource Access Management (RAM) ロールとマスター RAM ロールに ModifyDiskSpec 操作を呼び出す権限があることを確認する必要があります。詳細については、「カスタムポリシーの作成」をご参照ください。

    この権限付与は ACK マネージドクラスターには必要ありません。

    クリックしてポリシーの内容を表示

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:CreateSnapshot",
                    "ecs:DescribeSnapshot",
                    "ecs:DeleteSnapshot",
                    "ecs:ModifyDiskSpec",
                    "ecs:DescribeTaskAttribute"
                ],
                "Resource": "*"
            }
        ]
    }

注意事項

  • ベーシックディスクとエフェメラルディスクは、他のディスクカテゴリに変更できません。

    スペックアップとスペックダウンは、次のシナリオでサポートされています。

    企業向け SSD (ESSD)

    これらはローカル冗長ディスクです。

    • パフォーマンスレベル (PL) 0 の ESSD は、次のいずれかのタイプに直接変更できます。

      • ESSD PL1、PL2、または PL3

      • ESSD AutoPL ディスク

      • リージョン ESSD

        ディスクをリージョン ESSD に変更できるのは、データディスクの場合のみです。
    • PL1、PL2、および PL3 ESSD の変更は、課金方法によって異なります。

      • 従量課金ディスクの場合:

        • PL1、PL2、および PL3 のパフォーマンスレベル間で変更できます。

        • ディスクを ESSD AutoPL ディスクに直接変更できます。

        • PL1 ESSD のみリージョン ESSD に直接変更できます。

          ディスクをリージョン ESSD に変更できるのは、データディスクの場合のみです。
      • サブスクリプションディスクの場合、より高いパフォーマンスレベルにのみスペックアップできます。

        • ESSD PL1 を ESSD PL2 に変更します。

        • ESSD PL1 を ESSD PL3 に変更します。

        • ESSD PL2 を ESSD PL3 に変更します。

        • ESSD PL1 を ESSD AutoPL ディスクに変更します。

        • ESSD PL1 データディスクをリージョン ESSD に変更します。

    ESSD AutoPL ディスク

    これらはローカル冗長ディスクです。次のいずれかのタイプに直接変更できます。

    • ESSD AutoPL ディスク

      変更中に、プロビジョニングされたパフォーマンスは変更できますが、パフォーマンスバーストは変更できません。変更完了後にパフォーマンスバーストを調整できます。

    • リージョン ESSD

      • リージョン ESSD に変更する場合、プロビジョニングされたパフォーマンスパフォーマンスバーストを無効にする必要があります。

        リージョン ESSD と ESSD AutoPL ディスクではパフォーマンス制限が異なります。プロビジョニングされたパフォーマンスとパフォーマンスバーストを無効にすると、サービスに影響が出る可能性があります。続行する前に、ブロックストレージのパフォーマンスに関するドキュメントを確認し、新しい構成がビジネスニーズを満たしていることを確認してください。
      • ディスクをリージョン ESSD に変更できるのは、データディスクの場合のみです。

    リージョン ESSD

    これらはゾーン冗長ディスクです。

    1. 変更するゾーンを選択します。

      • ディスクのステータスが [使用中] の場合、このオプションは利用できません (グレー表示)。新しいローカル冗長ディスクの AZ は、アタッチされているインスタンスの AZ と同じになります。

      • ディスクのステータスが [アタッチされていません] の場合、新しいローカル冗長ディスクは、選択した AZ のインスタンスにのみアタッチできます。

    2. [新しいディスクカテゴリ] を選択します。

      リージョン ESSD は、次のいずれかに直接変更できます。

      • ESSD PL1、PL2、または PL3

      • ESSD AutoPL ディスク

    ESSD Entry ディスク

    これらはローカル冗長ディスクです。次のいずれかのタイプに直接変更できます。

    • ESSD PL0、PL1、PL2、または PL3

    • ESSD AutoPL ディスク

    • ゾーン冗長 ESSD

      ディスクをゾーン冗長 ESSD に変更できるのは、データディスクとして使用される場合のみです。

    Ultra ディスク

    これらはローカル冗長ディスクです。次のいずれかのタイプに直接変更できます。

    • 標準 SSD

    • ESSD Entry ディスク

      これらのディスクは、汎用 (U シリーズ) および e、エコノミー型インスタンスファミリーのインスタンスタイプにのみアタッチできます。
    • ESSD PL0、PL1、PL2、または PL3

    • ESSD AutoPL ディスク

    標準 SSD

    これらはローカル冗長ディスクです。次のいずれかのタイプに直接変更できます。

    • ESSD PL1、PL2、または PL3

    • ESSD AutoPL ディスク

    説明

    ディスクカテゴリの変更にリージョン企業向け SSD (ESSD) が含まれる場合、ボリュームのアフィニティ設定は変更できません。たとえば、ESSD をリージョン ESSD に変更した後も、そのディスクを使用する Pod は他のゾーンにスケジュールできません。

  • クラウドディスクをアタッチできる ECS インスタンスタイプは、ディスクカテゴリによって異なります。ボリュームのディスクカテゴリを変更するときは、新しいディスクカテゴリが、ボリュームがマウントされている Pod をホストするノードの ECS インスタンスタイプでサポートされていることを確認してください。ディスクカテゴリと ECS インスタンスタイプ間のマッチング ルールに関する詳細については、「インスタンスファミリーの概要」をご参照ください。

  • ボリュームとしてマウントできるのは、従量課金ディスクのみです。ボリュームのディスクカテゴリを変更すると、ディスクは新しいディスクカテゴリの課金ルールに基づいて課金されます。

詳細については、「制限」をご参照ください。

ステップ 1: ディスクカテゴリの変更を有効にするための storage-operator の構成

クラスターに接続し、次のコマンドを実行して storage-operator の ConfigMap を変更し、ディスクカテゴリ変更機能を有効にします。デフォルトでは、storage-operator が提供する storage-controller プラグインがこの機能の実装に使用されます。

kubectl patch configmap/storage-operator \
  -n kube-system \
  --type merge \
  -p '{"data":{"storage-controller":"{\"imageRep\":\"acs/storage-controller\",\"imageTag\":\"\",\"install\":\"true\",\"template\":\"/acs/templates/storage-controller/install.yaml\",\"type\":\"deployment\"}"}}'

ステップ 2: ディスクカテゴリの変更を実行するためのカスタムリソースの作成

重要

ビジネスへの影響を最小限に抑えるため、オフピーク時にディスクカテゴリまたはパフォーマンスレベルを変更してください。

  1. StatefulSet を作成します。

    クラウドディスクがマウントされた StatefulSet がクラスターに既に存在する場合は、このステップをスキップできます。

    1. 次のテンプレートを使用して、StatefulSet.yaml という名前のファイルを作成します。

      この YAML ファイルは、Pod をプロビジョニングする StatefulSet を作成するために使用されます。Pod には 40 GiB の PL1 ESSD がマウントされています。

      apiVersion: apps/v1
      kind: StatefulSet
      metadata:
        name: nginx-diskspec
      spec:
        selector:
          matchLabels:
            app: nginx
        replicas: 1
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              ports:
              - containerPort: 80
              volumeMounts:
              - name: pvc-disk
                mountPath: /data
            volumes:
              - name: pvc-disk
                persistentVolumeClaim:
                  claimName: disk-pvc
        volumeClaimTemplates:
          - metadata:
              name: pvc-disk
              labels:
                app: nginx
            spec:
              accessModes: [ "ReadWriteOnce" ]
              storageClassName: "alicloud-disk-essd"
              resources:
                requests:
                  storage: 40Gi    
    2. StatefulSet を作成します。

      kubectl create -f StatefulSet.yaml
    3. Pod のデプロイメントを表示します。

      kubectl get pod -l app=nginx

      期待される出力:

      NAME                 READY   STATUS    RESTARTS   AGE
      nginx-diskspec-0     1/1     Running   0          4m4s
    4. StatefulSet で使用される永続ボリューム要求 (PVC) に関する情報を表示し、PVC にバインドされている永続ボリューム (PV) の名前を取得します。

      kubectl get pvc pvc-disk-nginx-diskspec-0

      次の出力は、バインドされた PV の名前が d-uf6ijdcp3aeoi82w**** であり、VOLUME 列に表示されていることを示しています。

      NAME                           STATUS    VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS                VOLUMEATTRIBUTESCLASS   AGE
      pvc-disk-nginx-diskspec-0      Bound     d-uf6ijdcp3aeoi82w****   40Gi       RWO            alicloud-disk-essd          <unset>                 5m6s
  2. PV のディスクカテゴリを表示します。

    kubectl get pv d-uf6ijdcp3aeoi82w**** -o=jsonpath='{.metadata.labels}'

    出力で cloud_essd.PL1 が返されます。これは、PV が PL1 ESSD のマウントに使用されていることを示します。

    {"csi.alibabacloud.com/disktype":"cloud_essd.PL1"}
  3. ディスクカテゴリの変更を実行するためのカスタムリソースを作成します。

    1. cr.yaml という名前のファイルを作成します。

      次の YAML テンプレートをファイルにコピーします。pvNamesdesiredDiskType を実際の値に置き換えます。

      apiVersion: storage.alibabacloud.com/v1beta1
      kind: ContainerStorageOperator
      metadata:
        name: default
      spec:
        operationType: DISKUPGRADE
        operationParams:
          pvNames: "d-uf6ijdcp3aeoi82w****"
          desiredDiskType: "cloud_auto"

      パラメーター

      説明

      operationType

      DISKUPGRADE の値は、現在の操作がクラウドディスクのスペックアップ/スペックダウンであることを示します。

      pvNames

      管理する PV。複数の PV はコンマ (,) で区切ります。例: "disk-1***,disk-2***,disk-3***"

      desiredDiskType

      新しいディスクカテゴリ。注意事項セクションの説明に基づいて値を指定します。

      • cloud_auto: ESSD AutoPL ディスク

      • cloud_essd.PL0: PL0 ESSD

      • cloud_essd.PL1: PL1 ESSD

      • cloud_essd.PL2: PL2 ESSD

      • cloud_essd.PL3: PL3 ESSD

      • cloud_ssd: 標準 SSD

    2. カスタムリソースを作成します。

      kubectl create -f cr.yaml
  4. ディスクカテゴリが変更されたことを確認します。

    1. カスタムリソースのステータスをクエリして、ディスクカテゴリが変更されたかどうかを確認します。

      kubectl get ContainerStorageOperator default -o yaml

      出力の status フィールドを確認します。期待される出力:

        status:
          message: []
          process: 100%
          status: SUCCESS
    2. PV のラベルをクエリして、ディスクカテゴリが ESSD AutoPL ディスクに変更されたかどうかを確認します。

      kubectl get pv d-uf6ijdcp3aeoi82w**** -o=jsonpath='{.metadata.labels}'

      期待される出力:

      {"csi.alibabacloud.com/disktype":"cloud_auto"}