ボリュームは、ノードまたはポッドに接続されていない場合はオフラインと見なされます。オフライン ボリュームの拡張は、スーパーバイザー クラスタ と Tanzu Kubernetes の両方のタイプのクラスタでサポートされます。
手順
- ストレージ クラスを使用して、パーシステント ボリュームの要求 (PVC) を作成します。
- 例として、次の YAML マニフェストを使用して PVC を定義します。
この例では、要求されるストレージのサイズは 1 Gi です。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: example-block-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: example-block-sc
- Kubernetes クラスタに PVC を適用します。
kubectl apply -f example-block-pvc.yaml
- PVC にパッチを適用してサイズを増やします。
PVC がノードに接続されていない場合、またはポッドで使用されていない場合は、次のコマンドを使用して PVC にパッチを適用します。この例では、要求されるストレージの増加は 2 Gi です。
kubectl patch pvc example-block-pvc -p '{"spec": {"resources": {"requests": {"storage": "2Gi"}}}}'
この操作により、PVC に関連付けられているボリュームで拡張がトリガされます。
- ボリュームのサイズが増加したことを確認します。
kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-9e9a325d-ee1c-11e9-a223-005056ad1fc1 2Gi RWO Delete Bound default/example-block-pvc example-block-sc 6m44s
注: PVC がポッドによって使用されるまで、PVC のサイズは変更されません。
次の例は、PVC のサイズが変更されていないことを示しています。PVC を記述すると、PVC に適用されている
FilesystemResizePending
条件が表示されます。
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
example-block-pvc Bound pvc-9e9a325d-ee1c-11e9-a223-005056ad1fc1 1Gi RWO example-block-sc 6m57s
- PVC を使用するポッドを作成します。
PVC がポッドで使用されると、ファイルシステムが拡張されます。
- PVC のサイズが変更されたことを確認します。
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
example-block-pvc Bound pvc-24114458-9753-428e-9c90-9f568cb25788 2Gi RWO example-block-sc 2m12s
FilesystemResizePending
条件は PVC から削除されています。ボリュームの拡張が完了しました。
次のタスク
vSphere 管理者は、
vSphere Client で新しいボリューム サイズを確認できます。
vSphere Client のパーシステント ボリュームの監視を参照してください。