dataSource:
name: volumesnapshot-test-pvc-nfs-retain
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
Error: could not get snapshot snapshot-abb03b32-432c-4c63-b550-a571050b787e: 404 Not Found
command terminated with exit code 1
c. Tridentctl excluir instantâneo
Error: could not delete snapshot snapshot-abb03b32-432c-4c63-b550-a571050b787e: 404 Not Found
command terminated with exit code 1
Se isso for um bug, por favor, examine-o, caso contrário, isso está causando muitos objetos de instantâneos restantes no tridente. Por favor, forneça instruções/orientações agora sobre como remover os objetos de instantâneo do tridente com o deletePolicy is Retain?
dataSource:
name: volumesnapshot-test-pvc-nfs-delete
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
Os objetos Trident Snapshot são excluídos com sucesso com deleteRetain: Delete
Nesse caso, eles são removidos automaticamente após a exclusão de volumesnapshots.snapshot.storage.k8s.io
Ambiente
Forneça informações precisas sobre o ambiente para nos ajudar a reproduzir o problema.
Oi @gnarl , Alguma atualização sobre isso?
Esse problema tem um efeito mais pronunciado no Element OS (provavelmente E-Series também) porque o número máximo de instantâneos nessas plataformas é menor que o ONTAP: enquanto no ONTAP o "único" problema são os instantâneos restantes, no Element OS a proteção de instantâneos para de funcionar porque sem expiração automatizada o número máximo de snapshots é alcançado em poucos dias.
@khankth ,
Acho que o problema aqui é que o volumeSnapshotContent tem a deletionPolicy de "Retain" e deve ser atualizado para "Delete" antes de excluir o volumeSnapshot e o volumeSnapshotConent se o objetivo for realmente excluir o instantâneo. Isso é diferente de como a exclusão de um PV com o reclaimPolicy definido como "Retain" funciona. Nesse caso, o K8S força você a definir editar o PV e alterar o reclaimPolicy para "Delete" antes de poder excluir o PV com sucesso.
Vou conversar com a equipe sobre como lidar com esse caso de uso.
@khankth ao excluir um instantâneo com tridentctl
, você precisará usá-lo da seguinte forma:
tridentctl delete snapshot -h
Delete one or more volume snapshots from Trident
Usage:
tridentctl delete snapshot <volume/snapshot> [<volume/snapshot>...] [flags]
Aliases:
snapshot, s, snap, snapshots
Flags:
--all Delete all snapshots
-h, --help help for snapshot
--volume string Delete all snapshots in volume
Global Flags:
-d, --debug Debug output
-n, --namespace string Namespace of Trident deployment
-o, --output string Output format. One of json|yaml|name|wide|ps (default)
-s, --server string Address/port of Trident REST interface
# tridentctl delete snapshot snapshot-9c214e0f-547d-41b5-923d-a075bcc97d8a pvc-fb6eabff-93b4-4df5-b5ab-943bcda44ad8 -n trident
Error: could not delete snapshot snapshot-9c214e0f-547d-41b5-923d-a075bcc97d8a: 404 Not Found
command terminated with exit code 1
# tridentctl delete snapshot pvc-fb6eabff-93b4-4df5-b5ab-943bcda44ad8/snapshot-9c214e0f-547d-41b5-923d-a075bcc97d8a -n trident
# tridentctl get snapshot -n trident
+------+--------+
| NAME | VOLUME |
+------+--------+
+------+--------+
Além disso, o outro erro que você apontou [ tridentctl get snapshot
não retorna os detalhes do instantâneo] foi corrigido com a v21.04 neste commit .