etcd is a distributed key-value store that Kubernetes uses to store all of its cluster data, including:
> Cluster configuration
> State of nodes, pods, services, etc.
> Secrets and ConfigMaps
All other Kubernetes components (API server, controller manager, kubelet, etc.) rely on etcd for the current state of the cluster. Any change to the cluster state is first written to etcd.
Unlike other control plane components that are stateless (meaning they don't retain data between restarts), etcd must persist data to disk. This makes it the only stateful component in the control plane. Loss of etcd data results in loss of the cluster state.
******
A) The API server interacts with etcd but doesn't share state management. The API server exposes the Kubernetes API and validates requests, but etcd is where the data is actually stored.
B) etcd is the persistent storage. There's no separate persistent storage that etcd propagates to.
D) etcd stores all cluster data, including node data, application state (pods, deployments, etc.), and configuration.
Controller managers act on the state stored in etcd (e.g., creating pods to match a deployment spec), but they don't store the state themselves.