5.3.6. ボリュームスナップショットの削除
OpenShift Container Platform によるボリュームスナップショットの削除方法を設定できます。
手順
以下の例のように、
VolumeSnapshotClass
オブジェクトで必要な削除ポリシーを指定します。volumesnapshot.yaml
apiVersion: snapshot.storage.k8s.io kind: VolumeSnapshotClass metadata: name: csi-hostpath-snap driver: hostpath.csi.k8s.io deletionPolicy: Delete 1
- 1
- ボリュームスナップショットの削除時に
Delete
値を設定すると、VolumeSnapshotContent
オブジェクトと共に基礎となるスナップショットが削除されます。Retain
値を設定すると、基礎となるスナップショットとVolumeSnapshotContent
オブジェクトの両方が残ります。Retain
値を設定し、対応するVolumeSnapshotContent
オブジェクトを削除せずにVolumeSnapshot
オブジェクトを削除すると、コンテンツは残ります。スナップショット自体はストレージバックエンドにも保持されます。
以下のコマンドを入力してボリュームスナップショットを削除します。
$ oc delete volumesnapshot <volumesnapshot_name>
出力例
volumesnapshot.snapshot.storage.k8s.io "mysnapshot" deleted
削除ポリシーが
Retain
に設定されている場合は、以下のコマンドを入力してボリュームスナップショットのコンテンツを削除します。$ oc delete volumesnapshotcontent <volumesnapshotcontent_name>
オプション:
VolumeSnapshot
オブジェクトが正常に削除されていない場合は、以下のコマンドを実行して残されているリソースのファイナライザーを削除し、削除操作を続行できるようにします。重要永続ボリューム要求 (PVC) またはボリュームスナップショットのコンテンツのいずれかから
VolumeSnapshot
オブジェクトへの既存の参照がない場合にのみファイナライザーを削除します。--force
オプションを使用する場合でも、すべてのファイナライザーが削除されるまで削除操作でスナップショットオブジェクトは削除されません。$ oc patch -n $PROJECT volumesnapshot/$NAME --type=merge -p '{"metadata": {"finalizers":null}}'
出力例
volumesnapshotclass.snapshot.storage.k8s.io "csi-ocs-rbd-snapclass" deleted
ファイナライザーが削除され、ボリュームスナップショットが削除されます。