4.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: Delete1 - 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ファイナライザーが削除され、ボリュームスナップショットが削除されます。