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

Container Service for Kubernetes:クラウドディスクボリュームのオンライン拡張

最終更新日:Mar 27, 2026

Container Service for Kubernetes (ACK) の Container Storage Interface (CSI) プラグインを使用すると、実行中の Pod を再起動したり中断したりすることなく、永続ボリューム要求 (PVC) を変更することでクラウドディスクボリュームを拡張できます。これには、Kubernetes 1.16 以降が必要です。

前提条件

開始する前に、以下を確認してください。

  • PVC にバインドされた StorageClass には、allowVolumeExpansion: true が設定されています。ACK が提供する StorageClass では、これがデフォルトで設定されています。カスタム StorageClass の場合は、これを手動で設定する必要があります。StorageClass のプロパティは作成後に変更できません。必要に応じて、新しい StorageClass を作成してください。

  • ディスクを使用している Pod が `実行中` 状態であること。

  • ディスクが基本ディスクではないこと。基本ディスクはオンライン拡張をサポートしていません。

  • クラスターが Kubernetes 1.16 以降を実行していること。アップグレードについては、「クラスターのアップグレード」をご参照ください。

  • ディスクがサイズ変更をサポートしていること。サポートされているディスクタイプについては、「ResizeDisk」をご参照ください。

重要

サイズ変更の前にスナップショットを作成してデータをバックアップしてください。拡張が完了したら、不要な課金を避けるためにスナップショットを削除してください。詳細については、「ディスクスナップショットの使用」をご参照ください。

ACK 専用クラスターのみ: クラスターの RAM ロールに ResizeDisk 権限を付与します。ACK マネージドクラスターには、この権限がすでに付与されています。

  1. ACK コンソールにログインし、[クラスター] をクリックします。

  2. クラスター名をクリックし、次に左側ペインで [クラスター情報] をクリックします。

  3. [基本情報] タブの [クラスターリソース] セクションで Master RAM Role を見つけ、リンクをクリックします。

  4. RAM コンソールの [ロール] ページで、ResizeDisk 権限を追加します。詳細については、「カスタムポリシーのドキュメントおよび説明の変更」をご参照ください。

resizedisk

kubectl を使用したディスクボリュームの拡張

次の例では、「動的プロビジョニングされたディスクボリュームの作成」で作成したディスクボリュームを使用します。PVC を変更すると、CSI プラグインがトリガーされ、基盤となるディスクのサイズが変更され、ファイルシステムがオンラインで拡張されます。この間、Pod は実行され続けます。

  1. クラスターに接続します。詳細については、「クラスターの kubeconfig ファイルを取得し、kubectl を使用してクラスターに接続する」または「Workbench または Cloud Shell で kubectl を使用して ACK クラスターに接続する」をご参照ください。

  2. Pod が `実行中` 状態であることを確認します。

    kubectl get pod -l app=nginx

    想定される出力:

    NAME          READY   STATUS    RESTARTS   AGE
    disk-test-0   1/1     Running   0          23h
  3. 現在のディスク使用率と PVC を確認します。

    重要

    静的にプロビジョニングされたディスクボリュームの場合、PVC 内の storageClassName が空白ではなく、その名前の StorageClass がクラスター内に存在することを確認します。一致する StorageClass が存在しない場合は、既存のディスクの属性を持つ StorageClass を作成し、allowVolumeExpansion: true を設定します。

    kubectl exec disk-test-0 -- df -h /data

    想定される出力:

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vdb         20G   24K   20G   1% /data
    kubectl get pvc

    想定される出力(PVC disk-pvc は 20 GiB の容量でバインドされています):

    NAME       STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS                            VOLUMEATTRIBUTESCLASS   AGE
    disk-pvc   Bound    d-uf6axyb1er071h6o****   20Gi       RWO            alicloud-disk-wait-for-first-consumer   <unset>                 23h
  4. StorageClass に allowVolumeExpansion: true が設定されていることを確認します。

    kubectl get sc alicloud-disk-wait-for-first-consumer -o yaml

    想定される出力:

    allowVolumeExpansion: true
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      creationTimestamp: "2025-01-21T08:48:26Z"
      name: alicloud-disk-wait-for-first-consumer
      resourceVersion: "59936"
      uid: 5bdb798e-5888-40df-9f91-259ee8510f34
    parameters:
      type: cloud_auto,cloud_essd,cloud_ssd
    provisioner: diskplugin.csi.alibabacloud.com
    reclaimPolicy: Retain
    volumeBindingMode: WaitForFirstConsumer
  5. PVC にパッチを適用して 30 GiB を要求します。

    kubectl patch pvc disk-pvc -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'
  6. 1 分待ってから、新しい容量を確認します。

    kubectl get pvc

    想定される出力:

    NAME       STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS                            VOLUMEATTRIBUTESCLASS   AGE
    disk-pvc   Bound    d-uf6axyb1er071h6o****   30Gi       RWO            alicloud-disk-wait-for-first-consumer   <unset>                 23h
    kubectl exec disk-test-0 -- df -h /data

    想定される出力:

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vdb         30G   24K   30G   1% /data

ACK コンソールを使用したディスクボリュームの拡張

説明

ACK コンソールは、動的プロビジョニングされたディスクボリュームのみをサポートします。静的プロビジョニングされたディスクボリュームの場合は、kubectl を使用してください。

  1. ACK コンソールにログインし、[クラスター] をクリックします。

  2. クラスター名をクリックして、クラスター管理ページに移動します。

  3. Pod の状態を確認し、PVC を見つけます。

    1. 左側のナビゲーションウィンドウで、[ワークロード] > [StatefulSet] を選択します。

    2. アプリケーション名をクリックします。[Pod] タブで、Pod が `実行中` 状態であることを確認します。扩容-容器组

    3. Pod 名をクリックします。[ボリューム] タブで、Pod が使用している PVC をメモします。扩容-pvc

  4. StorageClass で拡張が有効になっていることを確認します。

    1. 左側のナビゲーションウィンドウで、ボリュームストレージクラス を選択します。

    2. ディスクボリュームが使用している StorageClass を見つけ、[YAML で表示] をクリックします。

    3. allowVolumeExpansion: true が存在することを確認します。ストレージクラスの拡張

  5. PVC を拡張します。

    1. 左側のナビゲーションウィンドウで、[ボリューム] > [永続ボリューム要求] を選択します。

    2. PVC を見つけ、[拡張] をクリックします。

    3. 新しい容量を入力し、[上記操作を理解し、同意します] を選択して、[OK] をクリックします。在线扩容

    4. 拡張が完了するのを待ち、PVC に新しい容量が表示されていることを確認します。

次のステップ