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

Container Service for Kubernetes:ディスクボリュームのサイズ変更 (1.16 より前のバージョンのクラスター向け)

最終更新日:Jun 23, 2026

ご利用のクラスターが Kubernetes 1.16 より前のバージョンを実行している場合、または基本ディスクを使用している場合、永続ボリューム要求 (PVC) を更新してディスクボリュームを拡張することはできません。代わりに、基盤となるディスクとそのファイルシステムを直接拡張する必要があります。

適用範囲

このトピックでは、PVC を変更せずに基盤となるディスクを手動で拡張することで、ディスクボリュームを拡張する方法について説明します。ご利用のクラスターが Kubernetes 1.16 より前のバージョンを実行している場合、またはディスクボリュームのオンライン拡張の要件を満たしていない場合に、この方法を使用できます。

重要

この方法では、ECS コンソールでディスクを拡張します。これはクラスター内のリソースには影響しないため、永続ボリューム要求 (PVC) および永続ボリューム (PV) オブジェクトの容量は変更されません。クラスターに表示される PV と PVC の容量を実際の容量と一致させるためには、ディスクボリュームのオンライン拡張を使用することを推奨します。

ビジネスニーズに基づいて方法を選択してください。

  • オンライン拡張: アプリケーションは実行を継続します。ただし、ファイルシステムの拡張中に I/O トラフィックが高い場合、I/O エラーが発生する可能性があります。

  • オフライン拡張: このプロセスでは、アプリケーションとそのディスク I/O が一時停止します。その結果、ファイルシステムの拡張はデータにとってより安全ですが、アプリケーションは一定期間停止します。

重要

基本ディスクはオンライン拡張をサポートしていません。オフライン拡張を使用する必要があります。

以下のセクションでは、静的にプロビジョニングされたディスクボリュームを持つサンプルアプリケーションを使用して、ディスクボリュームの拡張方法を説明します。

オンライン拡張

アプリケーションを実行したまま、ECS コンソールでディスクを拡張します。

ステップ 1: ディスク情報の表示

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

  2. ディスクをマウントする Pod を表示し、Pod が実行中状態であることを確認します。

    kubectl get pod 

    出力例:

    NAME          READY   STATUS    RESTARTS   AGE
    disk-test-0   1/1     Running   0          38s
  3. PVC を表示してディスク ID を取得します。

    kubectl get pvc

    次の出力は、PVC にバインドされている PV が d-uf628m33r5rsbi****** (ディスク ID) であり、容量が 20 GiB であることを示しています。

    NAME       STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
    disk-pvc   Bound    d-uf628m33r5rsbi******   20Gi       RWO            disk           <unset>                 64s

ステップ 2: ディスクとファイルシステムの拡張

  1. ECS コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、ストレージ & スナップショット > ブロックストレージ を選択します。

  3. ページ左上で、リージョンとリソースグループを選択します。地域

  4. ID でディスクを検索し、ディスクを選択してから、ページ下部の スケールアウト をクリックします。

    詳細については、「ディスクの拡張 (Linux)」をご参照ください。
  5. 表示されたウィザードで、画面の指示に従って拡張を完了します。

    • ターゲットディスクと注意事項を確認する ページで、ディスク情報を確認し、注意事項を読み、次に [リスクを理解し、データをバックアップしました。続行] をクリックします。

    • 変更方法とサイズを設定する ページで、拡張用のパラメーターを設定し、スケールアウト をクリックします。

      パラメーター

      説明

      新しいディスクサイズ

      ディスクを拡張する容量を指定します。新しい容量は現在の容量より小さくすることはできません。

      30 GiB

      サイズ変更方法

      オンライン容量拡張 を選択します。新しい容量は、再起動することなく直ちに有効になります。

      オンラインサイズ変更

    • [サイズ変更結果の確認] ページで、ディスクが拡張されていることを確認し、パーティションとファイルシステムの拡張へ をクリックします。

      説明

      ディスクを拡張した後、そのファイルシステムも拡張する必要があります。そうしないと、コンテナ内のストレージ領域は元のサイズのままになります。

    • パーティションとファイルシステムのスケールアウト ページで、クラウドアシスタントで操作 を選択し、クラウドアシスタントに今回の操作権限を付与する を選択して、承認 をクリックします。

      操作が完了したら、ディスクとそのファイルシステムの両方が拡張されたことを確認します。

      拡張が成功すると、ディスクチェックページに緑色のチェックマークと「ディスクチェックが完了しました。ディスクは使用準備ができています。」というメッセージが表示されます。[オペレーティングシステム内のディスク情報] セクションで、[ディスク容量 (OS)] の値が [容量] の値と一致することを確認します。パーティションの詳細で、パーティション (例: /dev/vdb) のサイズがディスクの総容量と等しいことを確認します。これにより、パーティションとファイルシステムの両方が正常に拡張されたことが確認できます。

オフライン拡張

レプリカ数を 0 に設定してアプリケーションを一時停止し、ディスクを拡張してから、アプリケーションを再起動します。

ステップ 1: ディスク情報の表示とアプリケーションの一時停止

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

  2. ディスクをマウントする Pod を表示し、Pod が実行中状態であることを確認します。

    kubectl get pod 

    出力例:

    NAME          READY   STATUS    RESTARTS   AGE
    disk-test-0   1/1     Running   0          38s
  3. PVC を表示してディスク ID を取得します。

    kubectl get pvc

    次の出力は、PVC にバインドされている PV が d-uf628m33r5rsbi****** (ディスク ID) であり、容量が 20 GiB であることを示しています。

    NAME       STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
    disk-pvc   Bound    d-uf628m33r5rsbi******   20Gi       RWO            disk           <unset>                 64s
  4. アプリケーションのレプリカ数を 0 にスケールダウンして、アプリケーションを一時停止します。

    kubectl scale sts disk-test --replicas=0

    期待される出力:

    statefulset.apps/disk-test scaled

ステップ 2: ディスクの拡張

  1. ECS コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、ストレージ & スナップショット > ブロックストレージ を選択します。

  3. ページ左上で、リージョンとリソースグループを選択します。地域

  4. ID でディスクを検索し、ディスクを選択してから、ページ下部の スケールアウト をクリックします。

  5. 表示されたウィザードで、画面の指示に従って拡張を完了します。

    • ターゲットディスクと注意事項を確認する ページで、ディスク情報を確認し、注意事項を読んだ後、[リスクを理解し、データをバックアップしました。次に進む] をクリックします。

    • 変更方法とサイズを設定する ページで、拡張用のパラメーターを設定し、スケールアウト をクリックします。

      パラメーター

      説明

      新しいディスクサイズ

      ディスクを拡張する容量を指定します。新しい容量は現在の容量より小さくすることはできません。

      30 GiB

      サイズ変更方法

      アプリケーションを一時停止すると、ディスクは [未アタッチ] 状態になります。この状態では、オフライン容量拡張 のみが利用可能なオプションです。

      オフラインサイズ変更

    • [サイズ変更結果の確認] ページで、ディスクが拡張されたことを確認し、[次のステップ: パーティションとファイルシステムの拡張] をクリックします。

    • パーティションとファイルシステムのスケールアウト ページで、ドキュメントで手動操作 を選択し、パーティションとファイルシステムのスケールアウト (Linux) セクションのドキュメントを表示します。

      説明
      • ディスクを拡張した後、そのファイルシステムも拡張する必要があります。そうしないと、コンテナ内のストレージ領域は元のサイズのままになります。

      • ディスクが[未アタッチ]状態のため、クラウドアシスタントを使用できません。手動でファイルシステムを拡張する必要があります。

ステップ 3: ファイルシステムの拡張

以下の手順は、パーティション分割されていないディスクに適用されます。

重要

Kubernetes ではパーティション分割されたディスクを使用しないことを推奨します。

  1. ディスクを ECS インスタンスにアタッチします。

    1. ECS コンソールブロックストレージ ページで、目的のディスクを見つけ、[操作] 列のアタッチ をクリックします。

    2. インスタンスにアタッチ ウィザードで、対象の ECS インスタンスを選択し、次へ をクリックします。

      重要

      ディスクを自動的にリリースするオプションは選択しないでください。

    3. パーティショニングとファイルシステムのマウント ウィザードで、「初期化方法」セクションの 後で設定 をクリックします。

    4. ディスクのステータスが使用中に変更されることを確認します。

  2. ECS インスタンスに接続します。詳細については、「接続方法」をご参照ください。

  3. ディスクのデバイス名を取得します。

    <serial> をディスクのシリアル番号に置き換えてください。

    ディスクのシリアル番号はディスク ID の一部で、d-{ディスクのシリアル番号} という形式です。詳細については、「ブロックストレージデバイスのシリアル番号の表示」をご参照ください。

    重要

    2020年6月10日より前に作成されたディスクにはシリアル番号がありません。これらのディスクでは、`realpath` コマンドを使用してデバイス名を見つけることはできません。代わりに、ディスクをアタッチする前と後に ls /dev/vd* コマンドを実行し、出力を比較して新しいデバイス名を特定します。

    realpath /dev/disk/by-id/virtio-<serial>

    次のサンプル出力は、ディスクのデバイス名が /dev/vdb であることを示しています。

    /dev/vdb
  4. ファイルシステムを拡張します。

    /dev/vdb を実際のディスクのデバイス名に置き換えてください。

    resize2fs /dev/vdb

    次のエラーが表示された場合は、プロンプトに従って e2fsck -f /dev/vdb を実行し、その後再度 resize2fs /dev/vdb を実行してファイルシステムを拡張します。

    resize2fs 1.46.0 (29-Jan-2020)
    Please run 'e2fsck -f /dev/vdb' first.

    ファイルシステムが正常に拡張されると、次の出力が返されます。

    resize2fs 1.46.0 (29-Jan-2020)
    Resizing the filesystem on /dev/vdb to 7864320 (4k) blocks.
    The filesystem on /dev/vdb is now 7864320 (4k) blocks long.
  5. ファイルシステムが拡張されたことを確認します。

    1. 一時ディレクトリ /mnt/disk/ を作成し、ディスクをマウントします。

      mkdir /mnt/disk
      mount /dev/vdb /mnt/disk/
    2. ファイルシステムのサイズを確認します。

      df /mnt/disk/

      次のサンプル出力は、/dev/vdb の容量が 30 GiB に拡張されたことを示しています。

      Filesystem     1K-blocks  Used Available Use% Mounted on
      /dev/vdb        30787536    24  30771128   1% /mnt/disk
    3. 一時ディレクトリからディスクをアンマウントします。

      umount /mnt/disk
  6. ECS インスタンスからデータディスクをデタッチします。詳細については、「データディスクのデタッチ」をご参照ください。

ステップ 4: アプリケーションの再起動

  1. アプリケーションのレプリカ数を 1 にスケールアップして、アプリケーションを再起動します。

    kubectl scale sts disk-test --replicas=1

    期待される出力:

    statefulset.apps/disk-test scaled
  2. Pod が復元されたことを確認します。

    kubectl get pod

    期待される出力:

    NAME          READY   STATUS    RESTARTS   AGE
    disk-test-0   1/1     Running   0          5s
  3. ファイルシステムのサイズを確認します。

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

    次のサンプル出力は、マウントされたファイルシステムが正常に拡張されたことを示しています。

    Filesystem     1K-blocks  Used Available Use% Mounted on
    /dev/vdb        30787536    24  30771128   1% /data