StatefulSet created as a result of EtcdCluster resource reconciliation fails to run pods in case spec.storage is set to EmptyDir:
> kubectl describe sts etcdcluster-sample
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedCreate 26s (x12 over 37s) statefulset-controller create Pod etcdcluster-sample-0 in StatefulSet etcdcluster-sample failed error: failed to create PVC data-etcdcluster-sample-0: PersistentVolumeClaim "data-etcdcluster-sample-0" is invalid: [spec.accessModes: Required value: at least 1 access mode is required, spec.resources[storage]: Required value]
Warning FailedCreate 16s (x13 over 37s) statefulset-controller create Claim data-etcdcluster-sample-0 for Pod etcdcluster-sample-0 in StatefulSet etcdcluster-sample failed error: PersistentVolumeClaim "data-etcdcluster-sample-0" is invalid: [spec.accessModes: Required value: at least 1 access mode is required, spec.resources[storage]: Required value]
How to reproduce
Build image from current main branch (at the moment the latest commit is 8157aa3)
> IMG=ghcr.io/aenix-io/etcd-operator:8157aa3 make docker-build
StatefulSet created as a result of EtcdCluster resource reconciliation fails to run pods in case
spec.storage
is set toEmptyDir
:How to reproduce
main
branch (at the moment the latest commit is8157aa3
)Expected
Etcd cluster pods are up & running with emptyDir as a storage, stateful set is Ready
Actual
StatefulSet can't create pods due to inability to create PVC without accessMode specified.
Versions
etcd-operator commit
8157aa3
kind v0.20.0 go1.21.1 darwin/arm64 kubernetes v1.29.0