Il s'agit de l'opérateur de Kubernetes pour K8ssandra.
Site de documentation
K8SSandra-Operator est une solution clé en main pour gérer Apache Cassandra et DSE sur Kubernetes. Apache Cassandra est le magasin de données NoSQL de la première colonne, offrant une faible latence, une géo-réplication et la capacité de stocker des pétaoctets de données. Apache Cassandra est utilisée dans 90% du Fortune 500 dans une certaine capacité.
DataSax Enterprise, DSE, est la distribution de DataSax d'Apache Cassandra, offrant des fonctionnalités supplémentaires telles que la sécurité avancée, la recherche et le graphique, ainsi que des fonctionnalités non encore disponibles dans Cassandra comme la recherche de vecteur pour les applications généatives d'IA.
K8SSandra-Operator permet le déploiement de plusieurs centres de données Apache Cassandra, étendue sur plusieurs clusters Kubernetes. L'intention de cette architecture est de fournir une géo-réplication pour améliorer la latence (en rapprochant les données de l'utilisateur final) et la disponibilité (en fournissant plusieurs centres de données pour des demandes en cas de défaillance de données ou de partition de réseau).
Apache Cassandra propose une réplication de données consciente de la zone de rack et de défaillance qui est à la fois reproduite et fragile pour les performances et la protection.
Il intègre les fonctionnalités suivantes;
Apache Cassandra peut être déployé dans plusieurs centres de données dans des régions distinctes ou des zones de disponibilité / de défaillance. K8SSandra-Operator rend cela possible en permettant une communication entre plusieurs clusters Kubernetes et en déploiement des centres de données de Cassandra.
Cela distingue K8SSandra-opératrice de CASS-Operator (qui est utilisé en interne dans K8SSandra-Operator) qui n'automatise pas les déploiements multi-régions.
Une seule instance K8SSandra-opératrice dans un cluster de plan de contrôle peut gérer de nombreux CC de plan de données sur plusieurs clusters Kubernetes et se séparer sur plusieurs clusters Cassandra. Des grappes de jusqu'à 1000 nœuds ont été testées et confirmées pour bien fonctionner.
Les fonctionnalités avancées de Cassandra telles que la capture de données de changement (CDC) sont prises en charge et peuvent être configurées à l'aide de manifestes de Kubernetes.
La surveillance est un service essentiel dans tout système distribué, et K8ssandra-Operator fournit une riche suite de métriques d'Apache Cassandra via un agent ajouté au Cassandra JVM.
En intégrant avec Vector, K8SSandra-Operator permet aux mesures de passer à un emplacement du choix de l'utilisateur, y compris une instance Prométhée ou Mimir existante. Une variété d'autres protocoles et systèmes tels que AMQP, Elasticsearch, Kafka ou Redis (voir ici pour une liste complète des intégrations) sont également pris en charge.
Les pipelines de métriques peuvent être configurés à l'aide de ressources personnalisées Kubernetes, permettant la création de plusieurs pipelines pour prendre en charge différents cas d'utilisation dans de nombreux clusters.
Les fonctionnalités d'audit et de surveillance Cassandra telles que la journalisation complète des requêtes sont prises en charge et peuvent être configurées directement à partir d'un manifeste K8SSandracluster.
Apache Cassandra nécessite une maintenance régulière pour s'assurer que les données sont reproduites de manière cohérente à travers le cluster. K8SSandra-Operator automatise ce processus en exécutant des réparations sur un horaire régulier en utilisant Reaper, une solution largement adoptée pour les réparations anti-entropie dans Cassandra entretenu par l'équipe K8SSandra.
À l'aide de K8SSandra-Operator, vous pouvez utiliser des manifestes de Kubernetes pour configurer et surveiller le succès des horaires de réparation dans de nombreux centres de données et grappes de Cassandra.
K8SSandra-Operator utilise Medusa pour permettre la sauvegarde des stables de Cassandra aux emplacements de stockage en nuage tels que les seaux S3, le GCS et le stockage Azure.
Les horaires de sauvegarde et de restauration peuvent être configurés à l'aide de manifestes de Kubernetes, permettant une gestion déclarative et vérifiable des processus de sauvegarde et de restauration.
Stargate for Apache Cassandra propose des API avancées, y compris l'intégration avec le cadre de modélisation d'objets Mongoose pour Node.js, GraphQL et REST. Il peut également améliorer les performances de CQL natives de Cassandra dans certaines topologies de cluster.
En utilisant K8SSandra-Operator, Stargate peut être déployé et configuré via des manifestes simples de Kubernetes.
Cette documentation couvre tout, à partir des détails d'installation, des composants déployés, des références de configuration et des tâches guidées basées sur les résultats.
Pour installer K8SSandra-Operator start [ici] ({{<relref "install /">}}).
Assurez-vous de nous laisser une étoile sur Github!
L'opérateur K8SSandra est en cours de développement avec un support multi-cluster avant tout à l'esprit. Il peut également être utilisé de manière transparente dans les déploiements monomores.
L'opérateur K8SSANDRA se compose d'un plan de contrôle et d'un plan de données. Le plan de contrôle crée et gère un objet qui n'existe que dans le serveur API. Le plan de contrôle ne déploie ni ne gère pas les pods.
Remarque: Le plan de commande peut être installé dans un seul cluster, c'est-à-dire le cluster du plan de commande.
Le plan de données peut être installé sur n'importe quel nombre de clusters. Le cluster de plan de contrôle peut également fonctionner comme plan de données.
Le plan de données déploie et gère les gousses. De plus, le plan de données peut interagir directement avec les applications gérées. Par exemple, l'opérateur appelle la gestion-API pour créer des espaces de clés dans Cassandra.
Dans ce diagramme, vous pouvez voir un petit exemple de déploiement multi-cluster.

Il est nécessaire d'avoir des IP de POD routibles entre les clusters Kubernetes; Cependant, cette exigence peut être assouplie à l'avenir.
Si vous utilisez un fournisseur de cloud, vous pouvez obtenir des IP routibles en installant les clusters Kubernetes dans le même VPC.
Si vous exécutez plusieurs clusters de type localement, vous aurez des IP POD routières en supposant qu'ils s'exécutent sur le même réseau Docker, ce qui est normalement le cas. Nous en levons pour nos tests E2E multi-cluster.
Voir le guide d'installation.
Pour plus d'informations sur la participation à K8ssandra, veuillez consulter la page communautaire K8SSandra.
Le reste de cette section se concentre sur le développement de l'opérateur lui-même.
Découvrez les documents K8SSANDRA complets à K8ssandra.io.
Commencez ou rejoignez une discussion sur le forum sur forum.k8ssandra.io.
Rejoignez-nous sur Discord ici.
Pour tout ce qui est spécifique à K8SSandra 1.x, veuillez créer le problème dans le repo K8SSandra.
Voir le guide de développement.