Es ist noch nicht lange her, dass Nubus für Kubernetes in der Version 1.0 das Licht der Öffentlichkeit erblickt hat. Nun steht schon die Version 1.5 bereit, die neben kleineren Bugfixes und Verbesserungen vor allem den redundanten Betrieb des Identitätsspeichers ermöglicht.
Inhaltsverzeichnis
LDAP Verzeichnisdienst – Skalierbar und hochverfügbar
Mit dieser Version von Nubus für Kubernetes ist es nun möglich, den Verzeichnisdienst LDAP nicht nur skaliert für hohe Last, sondern auch redundant gegen Ausfälle zu betreiben. Der Verzeichnisdienst wird dazu in drei Ebenen betrieben, die jeweils unterschiedliche Aufgaben haben:
- LDAP Primary
Die primären LDAP-Knoten fungieren als „Quelle der Wahrheit“ für die Daten des Verzeichnisdiensts. Sie speichern Nutzer- und Gruppeninformationen und nehmen Aktualisierungen für diese Daten entgegen. Ab sofort können zwei dieser Knoten parallel betrieben werden. Fällt einer dieser Knoten aus, übernimmt der andere nahtlos dessen Aufgaben, während der ausgefallene Knoten neu aufgebaut oder repariert wird. Beide Knoten synchronisieren ihre Daten kontinuierlich, um eine unterbrechungsfreie Übergabe ohne Datenverlust zu gewährleisten.
- LDAP Secondary
Die sekundären LDAP-Knoten stellen Nutzer- und Gruppeninformationen für Lesezugriffe durch verbundene Anwendungen bereit. Sie besitzen eine lokale Kopie der Daten, die sie von den primären Knoten beziehen. Sie können nur Lesezugriffe beantworten, für Schreibzugriffe verweisen sie auf die primären Knoten. Mehrere sekundäre Knoten können parallel arbeiten, um hohe Lasten wie viele gleichzeitig aktive Nutzer problemlos zu bewältigen.
- LDAP Proxy
Die Proxy-Knoten sind das Eingangstor für Zugriffe durch verbundene Anwendungen. Sie nehmen Anfragen entgegen und leiten sie an die sekundären Knoten weiter. Handelt es sich um eine Schreibanfrage oder kann ein sekundärer Knoten die Anfrage nicht beantworten, wird sie an einen primären Knoten weitergeleitet. Die Antwort wird anschließend zurück zur anfragenden Anwendung übermittelt.
Am Nubus-Helm-Chart kann ein Betreiber für jede dieser Ebenen konfigurieren, wie viele Instanzen („Replikas“) durch Kubernetes erzeugt werden sollen. Damit lässt sich ein Betrieb gemäß den Vorgaben des BSI IT-Grundschutz in kurzer Zeit einrichten.
Hochverfügbare Primärknoten
Mit Nubus 1.5 ist es möglich, bis zu zwei Primärknoten zu definieren, die sich gegenseitig spiegeln. Um die Konsistenz der Daten sicherzustellen, wird immer genau ein Konten als „führend“ ausgezeichnet. Dieser nimmt alle (Schreib-)Zugriffe entgegen, verarbeitet sie, und spiegelt sie auf den jeweils anderen Konten. Sollte der führende Knoten ausfallen, wird automatisch der andere Knoten zum neuen, führenden erklärt. Das System bleibt währenddessen betriebsbereit, während Kubernetes den ausgefallenen Knoten ersetzt, z.B. indem dieser auf einem anderen Kubernetes „Worker Node“ neu gestartet wird.
Technisch wird dies durch die Verwendung von „Kubernetes Leases“ sichergestellt. Neben jedem Knoten läuft ein sogenannter „Sidecar“-Container, der ständig prüft, ob der LDAP-Dienst erreichbar ist, und sich beim Kubernetes-Orchestrator um ein „Lease“ bewirbt (vergleichbar mit einem Staffelstab). Sobald ein Knoten das Lease erhält, wird der Netzwerkdienst (Kubernetes Service) so konfiguriert, dass sämtliche Verbindungen an diesen Knoten geleitet werden. Im Fall eines Problems, z.B. weil der Knoten abstürzt oder der LDAP-Dienst nicht mehr reagiert, bewirbt sich der Sidecar nicht weiter um das Lease. Kubernetes vergibt das Lease dann an den jeweils anderen Knoten, und der Netzwerkdienst wird entsprechend umkonfiguriert, sodass der neue führende Knoten alle Anfragen übernimmt.
Kein Ersatz für Backups!
Die beschriebenen Möglichkeiten sorgen für einen möglichst unterbrechungsfreien Betrieb. Sie können jedoch nicht verhindern, dass Daten z.B. durch Fehlbedienung unbeabsichtigt verändert werden. Jede Änderung wird so schnell wie möglich durch das System propagiert, um die beschriebenen Eigenschaften zu gewährleisten. In solchen Fällen ist es wertvoll, den vorherigen Zustand aus einem Backup wiederherstellen zu können.
Auch Ereignisse wie ein Brand im Datacenter, der alle Knoten gleichzeitig betrifft, sind schon vorgekommen. In solchen Situationen ist ein (off-site) Backup Gold wert. Bitte betrachten Sie Redundanz im Betrieb daher nicht als Ersatz für Backups, die die Beständigkeit der Daten auch in Ruhe gewährleisten.
Verfügbar ab sofort
Informationen dazu, wie Sie Nubus für Kubernetes 1.5 ausprobieren oder eine bestehende Installation aktualisieren können, finden sich im Betriebshandbuch. Alle Änderungen im Vergleich zur Vorversion sind in den Release Notes aufgeführt.