Jump to section

Was ist etcd?

URL kopieren

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.

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 cloudnativen 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.

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.

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.

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.

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 Native Computing Foundation (CNCF) übergeben. Die CNCF ist eine anbieterneutrale Organisation innerhalb der Linux Foundation, die die Einführung cloudnativer 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 cloudnativer 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.

Weiterlesen

ARTIKEL

Vergleich zwischen Containern und VMs

Linux-Container und virtuelle Maschinen (VMs) sind paketierte Computing-Umgebungen, die verschiedene IT-Komponenten vereinen und vom Rest des Systems isolieren.

ARTIKEL

Was ist Container-Orchestrierung?

Mithilfe der Container-Orchestrierung werden Deployment, Management, Skalierung und Vernetzung von Containern automatisiert.

ARTIKEL

Was ist ein Linux-Container?

Ein Linux-Container besteht aus Prozessen, die vom System isoliert sind und auf einem eigenen Image ausgeführt werden, das alle benötigten Dateien zur Unterstützung der Prozesse bereitstellt.

Mehr über Container erfahren

Produkte

Eine Plattform, die es Ihnen ermöglicht, Unternehmensanwendungen schnell und effizient über die von Ihnen gewünschte Infrastruktur bereitzustellen.

Ressourcen

Training

Kostenloser Trainingskurs

Running Containers with Red Hat Technical Overview

Kostenloser Trainingskurs

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Kostenloser Trainingskurs

Developing Cloud-Native Applications with Microservices Architectures