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

Container Service for Kubernetes:Kubernetes バージョン 1.16 未満を実行するクラスターのディスクボリュームを拡張する

最終更新日:Nov 09, 2025

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

適用範囲

このトピックでは、PVC を変更せずに記憶媒体の容量を手動で拡張してディスクボリュームを拡張する方法について説明します。この方法は、クラスターが Kubernetes バージョン 1.16 未満を実行している場合、またはディスクボリュームをオンラインで拡張するための要件を満たしていない場合に使用できます。

重要

この方法では、ECS コンソールでディスクを拡張する必要があります。クラスター内の Kubernetes リソースオブジェクトは影響を受けません。つまり、クラスター内の 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

      拡張方法

      [オンライン拡張] を選択します。拡張後、インスタンスを再起動する必要はありません。新しい容量はすぐに有効になります。

      オンライン拡張

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

      説明

      ディスク容量を拡張した後、ファイルシステムも拡張する必要があります。そうしないと、コンテナーで使用可能なストレージ領域は変更されません。

    • [パーティションとファイルシステムの拡張] ページで、[クラウドアシスタントを使用] を選択し、[このクラウドアシスタント操作を承認] を選択してから、[承認] をクリックします。

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

      云盘扩容

オフライン拡張

レプリカ数を 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 でパーティション分割されたディスクを使用することは推奨しません。

  • PV がパーティション分割されていないディスクを使用している場合、ディスクを手動でパーティション分割しないでください。これにより、現在のファイルシステムが損傷し、データが失われる可能性があります。

  • PV がパーティション分割されたディスクを使用している場合は、ファイルシステムを拡張する前にパーティションデバイスを拡張する必要があります。詳細については、「パーティションとファイルシステムの拡張 (Linux)」または「パーティションとファイルシステムの拡張 (Windows)」をご参照ください。

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

    1. ECS コンソール[Elastic Block Storage] ページで、対象のディスクを見つけ、[アクション] 列の [アタッチ] をクリックします。

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

      重要

      ディスクのリリースオプションは選択しないでください。

    3. [パーティション、ファイルシステムの作成、およびマウント] ウィザードで、[初期化方法] セクションの [後で設定] をクリックします。

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

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

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

    次のコマンドはサンプルです。<serial> をディスクのシリアル番号に置き換えてください。

    ディスク ID (ディスク ID = d-{ディスクシリアル番号}) からディスクのシリアル番号をすばやく見つけることができます。詳細については、「ブロックストレージデバイスのシリアル番号を表示する」をご参照ください。

    重要

    2020 年 6 月 10 日より前に作成されたディスクの場合、シリアル番号機能はサポートされていません。次のコマンドを実行してディスクのデバイス名を取得することはできません。代わりに、ディスクをアタッチする前後に ls /dev/vd* コマンドを実行し、出力を比較して対象ディスクのデバイス名を特定できます。

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

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

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

    次のコマンドはサンプルです。プレースホルダーを実際のディスクデバイス名に置き換えてください。

    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

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