Dies ist der Kubernetes -Operator für K8SSandra.
Dokumentationsseite
K8ssandra-Operator ist eine schlüsselfertige Lösung, um Apache Cassandra und DSE auf Kubernetes zu verwalten. Apache Cassandra ist der erstklassige NoSQL-Datenspeicher, der eine geringe Latenz, Geo-Replikation und die Fähigkeit zur Speicherung von Datenpetabyten anbietet. Apache Cassandra wird in 90% des Fortune 500 in gewisser Weise verwendet.
DataStax Enterprise, DSE, ist die DataStax -Verteilung von Apache Cassandra, die zusätzliche Funktionen wie erweiterte Sicherheit, Suche und Grafik sowie in Cassandra noch nicht verfügbare Funktionen wie Vektorsuche nach generativen KI -Anwendungen bietet.
K8ssandra-Operator ermöglicht die Bereitstellung mehrerer Apache-Cassandra-Rechenzentren, die sich über mehrere Kubernetes-Cluster erstrecken. Die Absicht dieser Architektur ist es, die Geo-Replikation zur Verbesserung der Latenz (durch Verschieben von Daten näher an den Endbenutzer) und die Verfügbarkeit (durch Bereitstellung mehrerer Datenträger für Anforderungen im Falle eines Datencenter-Fehlers oder einer Netzwerkpartition) bereitzustellen.
Apache Cassandra bietet eine Datenreplikation für die Rack- und Ausfallzone an, die sowohl für Leistung und Schutz repliziert als auch umgezogen wird.
Es enthält die folgende Funktionalität;
Apache Cassandra kann in separaten Regionen oder Verfügbarkeits-/Fehlerzonen in mehreren Rechenzentren bereitgestellt werden. K8ssandra-Operator ermöglicht dies, indem er die Kommunikation zwischen mehreren Kubernetes-Clustern ermöglicht und die Bereitstellung von Cassandra-Rechenzentren für sie bereitstellt.
Dies unterscheidet K8SSandra-Operator von Cass-Operator (das intern in K8ssandra-Operator verwendet wird), das keine Multi-Region-Bereitstellungen automatisiert.
Eine einzelne K8SSSandra-Operator-Instanz in einer Steuerebene kann viele Datenebene über mehrere Kubernetes-Cluster hinweg verwalten und über mehrere Cassandra-Cluster aufgeteilt werden. Cluster von bis zu 1000 Knoten wurden getestet und bestätigt, um eine gute Leistung zu erzielen.
Erweiterte Cassandra -Funktionen wie Änderungsdatenerfassung (CDC) werden unterstützt und können mit Kubernetes -Manifesten konfiguriert werden.
Die Überwachung ist ein kritischer Service in jedem verteilten System, und K8ssandra-Operator bietet eine reiche Suite von Apache-Cassandra-Metriken über einen Agenten, der dem Cassandra JVM hinzugefügt wurde.
Durch die Integration in Vector ermöglicht K8SSandra-Operator Metriken, um zu einem Ort der Benutzerkurse zu fließen, einschließlich einer vorhandenen Prometheus- oder Mimir-Instanz. Eine Vielzahl anderer Protokolle und Systeme wie AMQP, Elasticsearch, Kafka oder Redis (hier für eine vollständige Liste von Integrationen) werden ebenfalls unterstützt.
Metriken -Pipelines können mit kubernetes benutzerdefinierten Ressourcen konfiguriert werden, sodass mehrere Pipelines erstellt werden können, um verschiedene Anwendungsfälle über viele Cluster hinweg zu unterstützen.
Die Prüfungs- und Überwachungsfunktionen von Cassandra wie die vollständige Abfrageprotokollierung werden unterstützt und können direkt von einem K8ssandracluster -Manifest konfiguriert werden.
Apache Cassandra erfordert regelmäßige Wartung, um sicherzustellen, dass die Daten im Cluster konsequent repliziert werden. K8ssandra-Operator automatisiert diesen Vorgang, indem sie Reparaturen in einem regulären Zeitplan mit Reaper, einer weit verbreiteten Lösung für Anti-Entropie-Reparaturen in Cassandra, von dem K8ssandra-Team durchführen.
Mit K8SSSandra-Operator können Sie Kubernetes Manifests verwenden, um den Erfolg von Reparaturplänen in vielen Cassandra-Datencentern und -Clustern zu konfigurieren und zu überwachen.
K8ssandra-Operator verwendet Medusa, um die Sicherung von Cassandra-SSTables an Cloud-Speicherorten wie S3-Eimer, GCS und Azure-Speicher zu ermöglichen.
Sicherungs- und Wiederherstellungszeitpläne können mit Kubernetes -Manifesten konfiguriert werden, die eine deklarative, prüfbare Verwaltung von Sicherungs- und Wiederherstellungsprozessen ermöglichen.
Stargate für Apache Cassandra bietet erweiterte APIs an, einschließlich der Integration in das Mongoose -Objektmodellierungs -Framework für Node.js, GraphQL und Ruhe. Es kann auch die native CQL -Leistung von Cassandra in einigen Cluster -Topologien verbessern.
Mit K8ssandra-Operator kann Stargate über einfache Kubernetes-Manifeste bereitgestellt und konfiguriert werden.
Diese Dokumentation deckt alles von Installationsdetails, bereitgestellten Komponenten, Konfigurationsreferenzen und geführten ergebnisbasierten Aufgaben ab.
So installieren Sie K8SSandra-Operator Start [hier] ({{<relref "install/">}}).
Lassen Sie uns unbedingt einen Stern auf Github lassen!
Der K8SSSandra-Operator wird in erster Linie unter Berücksichtigung von Multi-Cluster-Unterstützung entwickelt. Es kann auch nahtlos in Einzelklusterbereitstellungen verwendet werden.
Der K8ssandra -Operator besteht aus einer Kontrollebene und einer Datenebene. Die Steuerebene erstellt und verwaltet Objekt, das nur auf dem API -Server existiert. Die Steuerebene bereitstellt oder verwaltet keine Pods.
HINWEIS: Die Steuerebene kann in nur einem Cluster installiert werden, dh der Steuerebene.
Die Datenebene kann auf einer beliebigen Anzahl von Clustern installiert werden. Der Cluster der Steuerebene kann auch als Datenebene fungieren.
Die Datenebene bereitstellt und verwaltet Pods. Darüber hinaus kann die Datenebene direkt mit den verwalteten Anwendungen interagieren. Zum Beispiel ruft der Betreiber das Management-API auf, um Schlüsselspazitäten in Cassandra zu erstellen.
In diesem Diagramm sehen Sie ein kleines Beispiel für eine Bereitstellung von Multi-Cluster.

Es ist erforderlich, routbare POD -IPs zwischen Kubernetes -Clustern zu haben. Diese Anforderung kann jedoch in Zukunft entspannt sein.
Wenn Sie in einem Cloud -Anbieter ausgeführt werden, können Sie routbare IPs erhalten, indem Sie die Kubernetes -Cluster in derselben VPC installieren.
Wenn Sie mehrere Art Cluster lokal ausführen, haben Sie routbare POD -IPs unter der Annahme, dass sie im selben Docker -Netzwerk ausgeführt werden, was normalerweise der Fall ist. Wir nutzen dies für unsere Multi-Cluster-E2E-Tests.
Siehe die Installationsanleitung.
Weitere Informationen zum K8ssandra finden Sie auf der K8ssandra Community -Seite.
Der Rest dieses Abschnitts konzentriert sich auf die Entwicklung des Bedieners selbst.
Schauen Sie sich die vollständigen K8SSandra -Dokumente in K8ssandra.io an.
Starten Sie eine Forum -Diskussion im Forum.k8ssandra.io.
Begleiten Sie uns hier auf Zwietracht.
Für alles, was für K8SSandra 1.x spezifisch ist, erstellen Sie das Problem im K8SSandra Repo.
Siehe den Entwicklungsleitfaden.