Skip to content

etcd (Kubernetes)

etcd serves as the primary data store for a Kubernetes cluster, holding all cluster state and configuration data^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md]. It is a consistent and highly-available key-value store used as the backing store for all cluster data^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md].

Within the Kubernetes architecture, etcd is a critical component of the [[Control Plane]], responsible for persisting the state of the system^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md].

Functionality

The primary function of etcd is to store the cluster's configuration data and its current state^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md]. This includes information regarding [[Pods]], [[Services]], and other Kubernetes objects. By maintaining a reliable record of the cluster's condition, etcd enables the system to recover the desired state in the event of a failure or restart^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md].

  • kube-apiserver: The API server is the only component that directly connects to etcd to read or write data^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md].
  • kube-scheduler: Reads data from etcd (via the API server) to determine where to place new Pods^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md].
  • kube-controller-manager: Uses etcd to monitor the actual state of the cluster and make adjustments to match the desired state^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md].

Sources

^[400-devops-06-kubernetes-k8s-ithelp-day3-readme.md]