vertica-kubernetes icon indicating copy to clipboard operation
vertica-kubernetes copied to clipboard

feat(annotation): allow to disable depot volume management

Open matchaxnb opened this issue 5 days ago • 2 comments

Introduce annotation vertica.com/disable-depot-volume-management: "true"|"false"

Its purpose is to disable volume management for the depot volume, thus allowing specific scenarios such as providing the Depot as an ephemeral PVC for scratch storage, distinct from a regular PVC (with independent lifecycle) and from an EmptyDir (residing directly on the host OS filesystem).

We use it because our ephemeral storage is a local PV bound by an ephemeral PVC and it needs to have the same lifecycle as our pod (destroyed when the pod is destroyed, created when the pod is created) and is co-located on the same node, so it can't be carried across node changes.

  • EmptyDir does not work because EmptyDir specifically uses the k8s host filesystem
  • a regular PVC does not have its lifecycle managed properly by the StatefulSet when nodes disappear
  • a PVC that is directly an ephemeral makes the cut
  • other storage options may make the cut

We chose to apply this change because it's the simplest in terms of code paths and is quite well circumscribed. Without this annotation, the operator behaves exactly as it did before.

matchaxnb avatar Feb 21 '25 08:02 matchaxnb