Necessity of MANUALLY restarting (deleting) pods after volume expansion

Perhaps its me but the docs seems a bit contradicting in terms of whether a manual restart is required after increasing the PVC size:

On one hand:

ECK will update the existing PersistentVolumeClaims accordingly, and recreate the StatefulSet automatically

On the other hand:

If the volume driver does not support ExpandInUsePersistentVolumes , Pods must be manually deleted after the resize, to be recreated automatically with the expanded filesystem.

Assuming ExpandInUsePersistentVolumes is not supported, should we delete the pods manually or the ECK will take care of statefulsets re-creation?

Both statements are true:

  1. ECK always recreates StatefulSets to match the newest volume claim size, regardless of whether ExpandInUsePersistentVolumes is supported. Recreating the StatefulSet does not touch any of the running Pods. Those are temporarily orphan, then re-adopted by the recreated StatefulSet.
  2. If ExpandInUsePersistentVolumes is not supported, the user is then responsible for deleting the Pods.

So in your situation with ExpandInUsePersistentVolumes not supported: ECK will recreate the StatefulSets, but you will have to delete the Pods (then recreated automaticallyà. You can look at the events generated for the Elasticsearch resource (kubectl describe elasticsearch <name>): they will give you a hint that you need to recreate Pods yourself.

I hope that helps!

1 Like