etcd ist ein verteilter, hochverfügbarer Key-Value-Store, der als Speicher für kritische Daten verteilter Systeme dient. Am bekanntesten ist er als einzige Quelle der Wahrheit (Single Source of Truth) von Kubernetes: Dort liegen sämtliche Cluster-Daten — Konfigurationen, Secrets, der gesamte Zustand aller Objekte. etcd ist in Go geschrieben und ein graduiertes Projekt der CNCF.
Konsens mit Raft
etcd nutzt den Raft-Konsens-Algorithmus, damit alle Knoten eines Clusters denselben Datenbestand sehen: Eine Mehrheit der Knoten bestätigt jede Änderung, bevor sie gilt. Dadurch liefert etcd starke Konsistenz — auch bei Ausfällen einzelner Knoten bleibt der Cluster funktionsfähig, solange die Mehrheit lebt.
Rollenspiel in Kubernetes
Der kube-apiserver ist der einzige Client, der direkt mit etcd spricht: Er schreibt den gewünschten Zustand hinein und beobachtet Änderungen. Controller wie der kube-scheduler erhalten darüber ihre Aufgaben. Deshalb gilt: etcd ist das Herz der Control-Plane — ein Ausfall legt den Cluster lahm.
Betrieb und Abgrenzung
In Produktionsclustern läuft etcd getrennt von den Worker-Knoten, oft auf eigenen Maschinen, und wird regelmäßig gesichert (Snapshots). Es ist ein Koordinationsdienst wie ZooKeeper oder Consul, nicht aber ein allgemeiner Anwendungs-Cache — dafür sind Redis oder andere Datenspeicher gedacht. Verwandte Grundlagen: Kubernetes, Raft, kube-apiserver, Leader Election.