Este es el operador de Kubernetes para K8ssandra.
Sitio de documentación
K8SSANDRA-Operator es una solución llave en mano para administrar Apache Cassandra y DSE en Kubernetes. Apache Cassandra es el almacén de datos Nosql de primera columna de columna, que ofrece baja latencia, geo replicación y la capacidad de almacenar petabytes de datos. Apache Cassandra está en uso en el 90% de la Fortune 500 de alguna manera.
DataStax Enterprise, DSE, es la distribución DataStax de Apache Cassandra, que ofrece características adicionales como seguridad avanzada, búsqueda y gráfico, así como características que aún no están disponibles en Cassandra, como la búsqueda vectorial de aplicaciones generativas de IA.
K8SSANDRA-Operator permite el despliegue de múltiples centros de datos Apache Cassandra, abarcados sobre múltiples grupos de Kubernetes. La intención de esta arquitectura es proporcionar geo replicación para mejorar la latencia (al mover datos más cerca del usuario final) y disponibilidad (proporcionando múltiples centros de datos para atender solicitudes en caso de una falla o partición de red de centros de datos).
Apache Cassandra ofrece replicación de datos consciente de la zona de falla y de falla que es replicado y fragmentado para el rendimiento y la protección.
Incorpora la siguiente funcionalidad;
Apache Cassandra se puede implementar en múltiples centros de datos en regiones separadas o zonas de disponibilidad/falla. K8SSANDRA-Operator lo hace posible al permitir la comunicación entre múltiples grupos de Kubernetes e implementar centros de datos de Cassandra en ellos.
Esto distingue el operador K8SSANDRA del operador CASS (que se utiliza internamente dentro de K8ssandra-Operator) que no automatiza las implementaciones de múltiples regiones.
Una sola instancia de operador K8SSANDRA en un clúster de plano de control puede administrar muchos DC del plano de datos en múltiples grupos de Kubernetes y dividir en múltiples grupos de Cassandra. Se han probado y confirmado que los grupos de hasta 1000 nodos se desempeñan bien.
Las características avanzadas de Cassandra, como la captura de datos de cambio (CDC), se admiten y se pueden configurar utilizando Manifiests de Kubernetes.
El monitoreo es un servicio crítico en cualquier sistema distribuido, y K8ssandra-Operator proporciona un rico conjunto de métricas Apache Cassandra a través de un agente agregado a Cassandra JVM.
Al integrarse con Vector, el operador K8SSANDRA permite que las métricas fluyan a una ubicación de la elección del usuario, incluida una instancia Prometheus o Mimir existente. También se admite una variedad de otros protocolos y sistemas como AMQP, Elasticsearch, Kafka o Redis (ver aquí para obtener una lista completa de integraciones).
Las tuberías de métricas se pueden configurar utilizando recursos personalizados de Kubernetes, lo que permite la creación de múltiples tuberías para admitir diferentes casos de uso en muchos grupos.
Las funciones de auditoría y monitoreo de Cassandra, como el registro completo de consultas, se admiten y se pueden configurar directamente desde un manifiesto K8SSandracluster.
Apache Cassandra requiere un mantenimiento regular para garantizar que los datos se replicen de manera consistente en todo el clúster. K8SSANDRA-Operator automatiza este proceso ejecutando reparaciones en un horario regular utilizando Reaper, una solución ampliamente adoptada para reparaciones contra la entropía en Cassandra mantenida por el equipo de K8ssandra.
Usando el operador K8SSANDRA, puede usar los manifiestos de Kubernetes para configurar y monitorear el éxito de los horarios de reparación en muchos centros de datos y clústeres de Cassandra.
K8SSANDRA-Operator utiliza Medusa para habilitar la copia de seguridad de las sstables de Cassandra a ubicaciones de almacenamiento en la nube, como cubos S3, GCS y almacenamiento de Azure.
Los horarios de respaldo y restauración se pueden configurar utilizando los manifiestos de Kubernetes, lo que permite una gestión declarativa y auditable de los procesos de copia de seguridad y restauración.
Stargate para Apache Cassandra ofrece API avanzadas, incluida la integración con el marco de modelado de objetos de Mongoose para Node.js, GraphQL y REST. También puede mejorar el rendimiento de CQL nativo de Cassandra en algunas topologías de clúster.
Usando K8SSANDRA-Operator, Stargate se puede implementar y configurar a través de simples manifiestos de Kubernetes.
Esta documentación cubre todo, desde detalles de instalación, componentes implementados, referencias de configuración y tareas guiadas basadas en resultados.
Para instalar K8SSANDRA-Operator Start [aquí] ({{<relref "install/">}}).
¡Asegúrese de dejarnos una estrella en Github!
El operador K8SSANDRA se está desarrollando con el soporte de múltiples parques en mente en primer lugar. También se puede usar sin problemas en las implementaciones de un solo clúster.
El operador K8SSANDRA consiste en un plano de control y un plano de datos. El plano de control crea y administra el objeto que existen solo en el servidor API. El plano de control no implementa ni administra pods.
Nota: El plano de control se puede instalar en un solo clúster, es decir, el clúster del plano de control.
El plano de datos se puede instalar en cualquier número de grupos. El clúster del plano de control también puede funcionar como el plano de datos.
El plano de datos implementa y administra pods. Además, el plano de datos puede interactuar directamente con las aplicaciones administradas. Por ejemplo, el operador llama a la administración-API para crear espacios de claves en Cassandra.
En este diagrama puede ver un pequeño ejemplo de una implementación de múltiples parcios.

Se requiere tener IP de POD enrutable entre los grupos de Kubernetes; Sin embargo, este requisito puede relajarse en el futuro.
Si se está ejecutando en un proveedor de la nube, puede obtener IPS enrutables instalando los clústeres de Kubernetes en el mismo VPC.
Si ejecuta clústeres de múltiples amables localmente, tendrá IP de POD enrutable suponiendo que se ejecuten en la misma red Docker, que normalmente es el caso. Aprovechamos esto para nuestras pruebas E2E de múltiples clúster.
Consulte la guía de instalación.
Para obtener más información sobre cómo involucrarse con K8SSANDRA, consulte la página de la comunidad K8ssandra.
El resto de esta sección se centra en el desarrollo del propio operador.
Echa un vistazo a los documentos completos de K8ssandra en K8ssandra.io.
Comience o únase a una discusión en el foro en foro.k8ssandra.io.
Únase a nosotros en Discord aquí.
Para cualquier cosa específica de K8ssandra 1.x, cree el problema en el repositorio de K8ssandra.
Consulte la Guía de desarrollo.