Este é o operador Kubernetes da K8SSAndra.
Site de documentação
O K8SSAndra-Operator é uma solução chave na mão para gerenciar o Apache Cassandra e o DSE em Kubernetes. O Apache Cassandra é o armazenamento de dados NOSQL da Premiere Wide Column, oferecendo baixa latência, geo-replicação e capacidade de armazenar petabytes de dados. O Apache Cassandra está em uso em 90% da Fortune 500 em alguma capacidade.
O DataStax Enterprise, DSE, é a distribuição DataStax do Apache Cassandra, oferecendo recursos adicionais, como segurança, pesquisa e gráfico avançados, além de recursos ainda não disponíveis no Cassandra como a busca vetorial por aplicativos generativos de IA.
O K8Ssandra-Operator permite a implantação de vários datacenters do Apache Cassandra, abrangendo vários clusters Kubernetes. A intenção dessa arquitetura é fornecer geo-replicação para aprimorar a latência (aproximando os dados do usuário final) e a disponibilidade (fornecendo vários datacenters para atender às solicitações no caso de uma falha do datacenter ou partição de rede).
O Apache Cassandra oferece replicação de dados consciente da zona de rack e falha, que é replicada e fragmentada para desempenho e proteção.
Ele incorpora a seguinte funcionalidade;
O Apache Cassandra pode ser implantado em vários datacenters em regiões separadas ou nas zonas de disponibilidade/falha. O K8Ssandra-Operator torna isso possível, permitindo a comunicação entre vários clusters de Kubernetes e implantando os datacenters da Cassandra neles.
Isso distingue K8SSAndra-Operator do Cass-Operator (que é usado internamente no K8SSAndra-Operator), que não automatiza implantações de várias regiões.
Uma única instância do K8SSAndra-Operator em um cluster de plano de controle pode gerenciar muitos DCs de plano de dados em vários clusters de Kubernetes e dividir-se em vários clusters de Cassandra. Clusters de até 1000 nós foram testados e confirmados para ter um bom desempenho.
Recursos avançados de Cassandra, como a alteração de captura de dados (CDC), são suportados e podem ser configurados usando os manifestos de Kubernetes.
O monitoramento é um serviço crítico em qualquer sistema distribuído, e o K8Ssandra-Operator fornece um rico conjunto de métricas Apache Cassandra por meio de um agente adicionado à JVM Cassandra.
Ao integrar ao Vector, o K8SSAndra-Operator permite que as métricas fluam para um local da escolha do usuário, incluindo uma instância existente de PromeTheus ou Mimir. Uma variedade de outros protocolos e sistemas, como AMQP, Elasticsearch, Kafka ou Redis (veja aqui uma lista completa de integrações) também são suportados.
Os pipelines de métricas podem ser configurados usando os recursos personalizados da Kubernetes, permitindo a criação de vários dutos para suportar diferentes casos de uso em muitos clusters.
Os recursos de auditoria e monitoramento do Cassandra, como o log de consultas completos, são suportados e podem ser configurados diretamente a partir de um manifesto K8Ssandracluster.
O Apache Cassandra requer manutenção regular para garantir que os dados sejam replicados de forma consistente em todo o cluster. O K8Ssandra-Operator automatiza esse processo executando reparos em um cronograma regular usando Reaper, uma solução amplamente adotada para reparos anti-entropia em Cassandra mantidos pela equipe K8Ssandra.
Usando o K8SSAndra-Operator, você pode usar o Kubernetes manifesta para configurar e monitorar o sucesso dos cronogramas de reparo em muitos datacenters e clusters Cassandra.
O K8Ssandra-Operator usa a Medusa para permitir o backup dos sstables de Cassandra para localizações de armazenamento em nuvem, como baldes S3, GCS e armazenamento do Azure.
Os horários de backup e restauração podem ser configurados usando os manifestos de Kubernetes, permitindo o gerenciamento declarativo e audível de processos de backup e restauração.
O Stargate para Apache Cassandra oferece APIs avançadas, incluindo a integração com a estrutura de modelagem de objetos do Mongoose para Node.js, GraphQL e REST. Também pode aprimorar o desempenho nativo de Cassandra em algumas topologias de cluster.
Usando o K8SSAndra-Operator, o Stargate pode ser implantado e configurado por meio de manifestos simples de Kubernetes.
Esta documentação cobre tudo, desde detalhes de instalação, componentes implantados, referências de configuração e tarefas baseadas em resultados guiados.
Para instalar o k8Ssandra-Operator Start [aqui] ({{<Relref "Install/">}}).
Certifique -se de nos deixar uma estrela no Github!
O operador K8SSandra está sendo desenvolvido com suporte a vários cluster em primeiro lugar em mente. Ele também pode ser usado sem problemas em implantações de cluster único.
O operador K8SSandra consiste em um plano de controle e um plano de dados. O plano de controle cria e gerencia objeto que existe apenas no servidor da API. O plano de controle não implanta ou gerencia pods.
Nota: O plano de controle pode ser instalado em apenas um cluster, ou seja, o cluster do plano de controle.
O plano de dados pode ser instalado em qualquer número de clusters. O cluster do plano de controle também pode funcionar como o plano de dados.
O plano de dados implanta e gerencia pods. Além disso, o plano de dados pode interagir diretamente com os aplicativos gerenciados. Por exemplo, o operador chama o gerenciamento-API para criar teclas em Cassandra.
Neste diagrama, você pode ver um pequeno exemplo de uma implantação de vários clusters.

É necessário ter IPs de POD rotáveis entre os clusters de Kubernetes; No entanto, esse requisito pode ser relaxado no futuro.
Se você estiver executando em um provedor de nuvem, poderá obter IPS rotável instalando os clusters Kubernetes no mesmo VPC.
Se você executar vários clusters de tipos localmente, terá o POD IPS rotável, assumindo que eles executam na mesma rede Docker, que normalmente é o caso. Aproveitamos isso para nossos testes E2E de vários cluster.
Consulte o guia de instalação.
Para obter mais informações sobre como se envolver com o K8SSandra, consulte a página da comunidade K8SSAndra.
O restante desta seção se concentra no desenvolvimento do próprio operador.
Confira os documentos completos do K8Ssandra em K8Ssandra.io.
Inicie ou participe de uma discussão no fórum no FORUM.K8SSANDRA.IO.
Junte -se a nós na discórdia aqui.
Para qualquer coisa específica para o K8Ssandra 1.x, crie o problema no repo K8SSandra.
Veja o Guia de Desenvolvimento.