News

Elasticsearch auf Kubernetes: Ein neues Kapitel beginnt

Wir freuen uns, mit Elastic Cloud on Kubernetes (ECK) ein neues Orchestrierungsprodukt auf der Basis des Kubernetes-Operator-Musters vorstellen zu können, mit dem sich Elasticsearch-Cluster auf Kubernetes bereitstellen, verwalten und betreiben lassen.

In den letzten Jahren hat sich Kubernetes zum De-facto-Standard für das Orchestrieren von Containern und den in ihnen laufenden Anwendungen entwickelt. Dieser Trend ist auch in der Elasticsearch-Community anzutreffen. Mit Elastic Cloud on Kubernetes erfüllen wir unser Versprechen, dort zu sein, wo unsere Nutzer sind, und ihnen die bestmöglichen Lösungen zum Bereitstellen und Betreiben von Elastic-Produkten auf der Plattform ihrer Wahl zu bieten.

Dabei ist Kubernetes alles andere als Neuland für uns. So haben wir auch schon in der Vergangenheit u. a. offizielle Docker-Images für Elasticsearch und Kibana veröffentlicht oder Beats so modifiziert, dass sie Logs und Metriken aus den flüchtigen Pods und Daemonsets erfassen. Letzten Dezember haben wir uns entschlossen, unser Engagement für die Plattform weiter zu verstärken. Wir sind der CNCF beigetreten und haben Helm Charts gestartet. ECK ist ein logischer nächster Schritt – wenn auch ein großer – in unserem Bestreben, den Nutzern das Bereitstellen und Betreiben unserer Produkte und Lösungen in Kubernetes-Umgebungen zu erleichtern.

Ein Elasticsearch-Operator, aber auch so viel mehr

ECK wurde auf der Basis des Kubernetes-Operator-Musters entwickelt und wird in Ihrem Kubernetes-Cluster installiert und das Produkt bietet weit mehr, als einfach nur das Installieren von Elasticsearch und Kibana auf Kubernetes zu vereinfachen. Ziel von ECK ist es, das gesamte Paket an Tag-2-Operationen zu optimieren, wie:

  • Verwalten und Überwachen mehrerer Cluster
  • einfaches Upgraden auf neue Stack-Versionen
  • Skalieren der Cluster-Kapazität – auf- und abwärts
  • Ändern der Cluster-Konfiguration
  • dynamisches Skalieren des lokalen Speichers (enthält mit Elastic Local Volume einen Treiber für den lokalen Speicher)
  • Einrichten automatischer Backups

ECK ist jedoch viel mehr als ein Kubernetes-Operator. Zusätzlich zur Automatisierung aller operationalen und Cluster-Verwaltungsaufgaben kümmert sich ECK um die Optimierung des gesamten Elastic Stack on Kubernetes-Nutzererlebnisses. Mit ECK sollen Elastic-Produkte und -Lösungen auf Kubernetes ein SaaS-artiges Nutzererlebnis bieten.

„Secure-by-default“

Alle Elasticsearch-Cluster, die auf ECK erstellt werden, sind standardmäßig sicher – die Verschlüsselung ist aktiviert und sie sind ab dem Zeitpunkt ihrer Erstellung mit einem starken Standardpasswort geschützt. Dies entspricht dem, was unsere Nutzer auch vom Elasticsearch Service auf Elastic Cloud kennen.

Die Bereitstellung dieses „Secure-by-default“-Erlebnisses hatte durchaus ihre Tücken. In diesem Blogpost wird beschrieben, welche Security-Änderungen wir aufseiten des Elastic Stack vornehmen mussten, um dies dennoch möglich zu machen. TL;DR: Ab Version 6.8 und 7.1 werden Kern-Security-Features von Elasticsearch – TLS-Verschlüsselung, rollenbasierte Zugriffssteuerung und native Authentifizierung – kostenlos zur Verfügung gestellt.

Canvas, Maps, Uptime und mehr

Alle über ECK bereitgestellten Cluster profitieren von leistungsfähigen kostenlosen Funktionen (Abonnementstufe „Basic“), wie eingefrorenen Indizes für hohe Speicherdichten, Kibana Spaces, Canvas, Elastic Maps und mehr. Mit der Elastic Logs-App und der Elastic Infrastructure-App ist es sogar möglich, Kubernetes-Logs und die Infrastruktur zu überwachen. Das volle Elastic Stack-Erlebnis auf Kubernetes erhalten Sie nur von Elastic.

Bereitstellen von Heiß-Warm-Kalt- und benutzerdefinierten Topologien

„Heiß-Warm-Kalt“ ist eine leistungsfähige Elasticsearch-Cluster-Topologie für Logging, Metriken und andere Zeitreihen-Anwendungsfälle. Dieses verbreitete Architekturmuster hilft, einen kostengünstigen Kompromiss zwischen Performance-Anforderungen und Anforderungen an die Langfristspeicherung zu finden. Mit ECK können Heiß-Warm-Kalt-Cluster auf Kubernetes bereitgestellt und anschließend mithilfe von Index-Lifecycle-Management (ILM) Richtlinien konfiguriert werden, die festlegen, wann Daten im Laufe ihres Lebenszyklus auf welche Knoten verschoben werden sollen.

Es gibt keinen Komprimierungsalgorithmus für Erfahrung

Wenn es um die Bereitstellung von Software geht, ist Tag 1 ganz easy. Schwierig wird’s in der Regel erst, wenn Tag 2 anbricht. Für die Optimierung des Betriebs eines zustandsorientierten Systems wie Elasticsearch in einem dynamischen Orchestrierungs-Framework wie Kubernetes muss eine Menge Aufwand betrieben werden. Wie lässt sich persistenter lokaler Speicher bereitstellen, der sich dynamisch skaliert? Wir bauen Elastic Local Volume, einen Treiber für integrierten Speicher für Kubernetes, direkt in ECK ein. Auch Best Practices wie das Trockenlegen von Knoten, bevor sie herunterskaliert werden, das Neubalancieren von Shards beim Hochskalieren und viele andere sind unmittelbar inkludiert.

In die Entwicklung von Elastic Cloud on Kubernetes sind unsere jahrelangen operativen Erfahrungen als Entwickler von Elasticsearch und Elastic Cloud Enterprise und als Betreiber des Elasticsearch Service eingeflossen. Das spiegelt sich beispielsweise in der Art und Weise wider, wie Elasticsearch- und Kibana-Deployments in Kubernetes orchestriert und betrieben werden.

Ob es darum ging sicherzustellen, dass bei Konfigurationsänderungen keine Daten verloren gehen, oder darum, dass es beim Skalieren zu keinerlei Downtime kommt – wir haben beim Entwickeln von ECK alles berücksichtigt, was es für den operativen Einsatz zu berücksichtigen gibt.

Standarddistribution für immer kostenlos verfügbar

Seit den Anfangstagen von Elasticsearch sind wir bestrebt, neuen Nutzern den Einstieg so weit wie möglich zu erleichtern, indem wir auch in die kostenlose Standarddistribution eine Vielzahl leistungsfähiger Features einschließen. ECK macht da keine Ausnahme.

Die Standarddistribution von ECK wird für immer kostenlos verfügbar sein. Im Geist der Offenheit und Transparenz haben wir auch den gesamten Quellcode für ECK unter der Elastic License im Elastic-cloud-on-k8s-GitHub-Repository öffentlich einsehbar gemacht.

Mit einem (kostenpflichtigen) Enterprise-Abonnement erhalten Nutzer Zugriff auf zusätzliche Features, einschließlich der Möglichkeit, Cluster mit erweiterten Funktionen, wie Zugriffssteuerung auf Feld- und Dokumentebene, Machine Learning, Graph Analytics und mehr, bereitzustellen. Für die Zukunft ist geplant, im Rahmen des Enterprise-Abonnements auch zusätzliche erweiterte Orchestrierungsfunktionen anzubieten.

Offizielle GKE-Unterstützung – und mehr in der Pipeline

In dieser ersten Alpha-Version von ECK unterstützen wir Google Kubernetes Engine (GKE) und normales Kubernetes ab Version 1.11. In künftigen Versionen werden auch andere Kubernetes-Varianten unterstützt werden.

Jetzt loslegen

Probieren Sie das neue Angebot aus, indem Sie auf Ihrem Kubernetes-Cluster Folgendes ausführen, und besuchen Sie die Schnellstart-Seite, wo Sie zusätzliche Informationen finden.