|
|
|
|
|
by jrockway
2128 days ago
|
|
Deletion is typically specified by an immutable finalizer on the resource. For example, you can create a StorageClass that saves your PersistentVolume when you delete the PersistentVolumeClaim, and you can't change the class of a claim, so even if your templating goes haywire and deletes your volume claim, the actual data is safe and can be recovered. I have to imagine that any API that lets you create things like RDS instances would have similar protection. (You might think that the k8s world is very mutable, but there are some immutable things hanging around. For cases exactly like this.) I don't use AWS so I didn't look into this thoroughly, but the word "finalizer" does show up in the code frequently: // MarkManaged places the supplied resource under the management of ACK.
// What this typically means is that the resource manager will decorate the
// underlying custom resource (CR) with a finalizer that indicates ACK is
// managing the resource and the underlying CR may not be deleted until ACK
// is finished cleaning up any backend AWS service resources associated
// with the CR.
I dunno how good it is, but clearly they've thought about it. Test it before you invest billions of dollars into it, though. |
|