Anmelden / Registrieren Konto

CONTAINER

Was ist etcd?

Unter etcd (ausgesprochen et-si-di) versteht man einen verteilten, konsistenten Key-Value-Store, der auf Open Source basiert und für eine gemeinsame Konfigurations- und Scheduler-Koordinierung von verteilten Systemen oder Maschinen-Clustern konzipiert wurde. Dieser ermöglicht unter anderem: einfachere und sicherere automatische Updates, eine bessere Koordinierung von geplanten Aufgaben in Hosts und Unterstützung bei der Einrichtung von Overlay Networking für Container.

Jump to section

etcd ist eine Kernkomponente vieler anderer Projekte. Am bekanntesten ist etcd als primärer Datenspeicher von Kubernetes, das de facto das Standardsystem zur Container-Orchestrierung darstellt. Mithilfe von etcd wird der Betrieb von Cloud Computingnativen Anwendungen stabiler, auch wenn einzelne Server ausfallen. Die Anwendungen lesen und schreiben Daten in etcd. Daraufhin verteilt etcd die Konfigurationsdaten und sorgt für Redundanz und somit für eine robuste Knotenkonfiguration.

Kubernetes und etcd

Als primärer Datenspeicher für Kubernetes sichert und repliziert etcd alle Zustände von Kubernetes-Clustern. Da etcd eine zentrale Komponente des Kubernetes-Clusters ist, muss es bei der Konfiguration und beim Management sehr zuverlässig sein.

Da etcd ein verteiltes, konsensbasiertes System ist, kann sich die Cluster-Konfiguration als sehr komplex erweisen. Bootstrapping, Erhalt eines Quorums, erneute Konfiguration von Cluster-Mitgliedern, Backups, Disaster Recovery sowie die Überwachung kritischer Events – all das sind komplexe und aufwändige Aufgaben, die spezielle Fachkenntnisse erfordern.

Der etcd-Operator macht alles leichter.

Der etcd-Operator

Durch einen Operator, der quasi den Bediener repräsentiert, wird die Verwendung von etcd mit Kubernetes oder einer Kubernetes-Container-Plattform wie Red Hat OpenShift viel einfacher. Der etcd-Operator verwaltet etcd im Operator Framework und sorgt für eine einfachere Konfiguration und Verwaltung des etcd-Clusters.

Der etcd-Operator lässt sich mit einem einzigen Befehl installieren. Der Nutzer kann die Komplexitäten von etcd mithilfe einer einfachen deklarativen Konfiguration für etcd-Cluster konfigurieren und verwalten.

Der etcd-Operator umfasst folgende Funktionen:

  • Create/Destroy: Statt mühsam Konfigurationseinstellungen für jedes etcd-Mitglied anzugeben, muss der Nutzer lediglich die Größe des Clusters festlegen.

  • Resize: Nutzer müssen lediglich die Größenspezifikation ändern, und etcd übernimmt die Bereitstellung, Zerstörung und/oder Neukonfiguration der Cluster-Mitglieder.

  • Backup: Der etcd-Operator führt automatische und transparente Backups durch. Der Nutzer muss dabei lediglich die gewünschte Backup-Richtlinie angeben. Zum Beispiel: Backup alle 30 Minuten und die letzten drei Backups behalten.

  • Upgrade: Ein Upgrade von etcd ohne Ausfallzeiten ist eine wichtige, wenn auch schwierige Aufgabe. Die Ausführung mit dem etcd-Operator vereinfacht den Vorgang und vermeidet häufige Fehler.

Wie funktioniert's?

Der etcd-Operator simuliert das Verhalten eines menschlichen Bedieners in drei Schritten: beobachten, analysieren, agieren.

  1. Der Operator beobachtet den aktuellen Cluster-Zustand mithilfe der Kubernetes-API.

  2. So erkennt er Unterschiede zwischen dem gewünschten und dem aktuellen Status.

  3. Zum Schluss behebt er den Unterschied mithilfe einer oder beiden APIs für das etcd-Cluster-Management oder mit der Kubernetes-API.

Wie kann Red Hat helfen?

etcd wurde 2013 vom CoreOS Team gegründet und wird bis zum heutigen Tage gemeinsam von Red Hat Ingenieuren und Kollegen aus der ganzen Branche gepflegt und verwaltet. 

2018 haben Red Hat und das CoreOS Team das etcd Community-Projekt an die Cloud Computing Native Computing Foundation (CNCF) übergeben. Die CNCF ist eine anbieterneutrale Organisation innerhalb der Linux Foundation, die die Einführung Cloud Computingnativer Systeme fördert. Da etcd die Triebkraft hinter jedem Kubernetes-Cluster ist, bringt dieser Schachzug etcd zu der Community, die bei der CNCF am meisten darauf angewiesen ist.

Red Hat plant die Fortsetzung der Entwicklungsarbeit an etcd, speziell im Rahmen unseres unternehmensfähigen Kubernetes-Produkts Red Hat OpenShift. Red Hat war außerdem eines der ersten Unternehmen, das CNCF bei der Gründung im Jahre 2015 unterstützte. Seitdem fördert Red Hat gemeinsam mit der Stiftung und der Community die Entwicklung und das Wachstum Cloud Computingnativer Technologien. Aufgrund unserer Firmengeschichte und unseres Engagements, mit dem wir uns für Open Source Software und die Entwicklung in der Community einsetzen, kann etdc der Community innerhalb der CNCF noch viele weitere Vorteile bringen.