7.5. ファイルシステムを使用した永続ボリューム要求 (PVC) の拡張

ファイルシステムのサイズ変更を必要とするボリュームタイプ (GCE、EBS、および Cinder など) に基づいて PVC を拡張するには 2 つの手順からなるプロセスが必要です。まず、クラウドプロバイダーのボリュームオブジェクトを拡張します。次に、ノードのファイルシステムを拡張します。

ノードでのファイルシステムの拡張は、新規 Pod がボリュームと共に起動する場合にのみ実行されます。

前提条件

  • 制御する側の StorageClass オブジェクトでは、allowVolumeExpansiontrue に設定されている必要がある。

手順

  1. spec.resources.requests を編集して PVC を編集し、新規サイズを要求します。たとえば、以下では ebs PVC を 8 Gi に拡張します。

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: ebs
    spec:
      storageClass: "storageClassWithFlagSet"
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 8Gi 1
    1
    spec.resources.requests をさらに大きな量を表す値に更新すると、PVC が拡張されます。
  2. クラウドプロバイダーオブジェクトのサイズ変更が終了すると、PVC は FileSystemResizePending に設定されます。以下のコマンドを入力して状態を確認します。

    $ oc describe pvc <pvc_name>
  3. クラウドプロバイダーオブジェクトのサイズ変更が終了すると、PersistentVolume オブジェクトは PersistentVolume.Spec.Capacity に新規に要求されたサイズを反映します。この時点で、PVC から新規 Pod を作成または再作成してファイルシステムのサイズ変更を終了できます。Pod が実行している場合は、新たに要求されたサイズが利用可能になり、FileSystemResizePending 状態が PVC から削除されます。