Problem:
The current EtcdCluster custom resource (operator.etcd.io/v1alpha1) does not provide any status information about the managed etcd cluster. Users lack visibility into the actual state observed by the operator, such as:
- How many etcd members are currently ready?
- What is the etcd cluster's view of its membership size?
- Is the cluster currently being created, scaled, running normally, or encountering issues?
- What is the actual etcd version running?
This lack of status reporting significantly hinders observability, making it difficult to monitor cluster health, diagnose problems effectively, and build reliable automation around the EtcdCluster resource.
Proposal:
Introduce a status subresource for the EtcdCluster API (v1alpha1). This subresource should be populated by the EtcdClusterReconciler with key observed state information.
Suggested Status Fields (Initial Scope):
readyReplicas (int32): Number of ready etcd pods.
members (int32): Number of members reported by etcd cluster membership API.
phase (string): High-level operational phase (e.g., Pending, Creating, Running, Scaling, Failed, Degraded).
- (Optional but Highly Desirable)
conditions ([]metav1.Condition): Standard Kubernetes conditions for reporting detailed status like Available, Progressing, Degraded.
- (Optional)
currentVersion (string): Detected etcd version of the cluster members.
Expected Benefits:
- Greatly improves observability of managed etcd clusters.
- Enables easier monitoring and alerting based on
EtcdCluster status.
- Provides crucial information for debugging reconciliation issues.
- Establishes the foundation for reporting the status of future complex operations (e.g., upgrades).
Problem:
The current
EtcdClustercustom resource (operator.etcd.io/v1alpha1) does not provide any status information about the managed etcd cluster. Users lack visibility into the actual state observed by the operator, such as:This lack of status reporting significantly hinders observability, making it difficult to monitor cluster health, diagnose problems effectively, and build reliable automation around the
EtcdClusterresource.Proposal:
Introduce a
statussubresource for theEtcdClusterAPI (v1alpha1). This subresource should be populated by theEtcdClusterReconcilerwith key observed state information.Suggested Status Fields (Initial Scope):
readyReplicas (int32): Number of ready etcd pods.members (int32): Number of members reported by etcd cluster membership API.phase (string): High-level operational phase (e.g.,Pending,Creating,Running,Scaling,Failed,Degraded).conditions ([]metav1.Condition): Standard Kubernetes conditions for reporting detailed status likeAvailable,Progressing,Degraded.currentVersion (string): Detected etcd version of the cluster members.Expected Benefits:
EtcdClusterstatus.