O que é o ClickHouse Operator
- Gerenciamento do ciclo de vida do cluster (criação, atualizações, escalonamento, exclusão)
- Coordenação do cluster ClickHouse Keeper
- Geração automática de configuração
- Sincronização do esquema do banco de dados
- Atualizações progressivas e de versão
- Provisionamento de armazenamento
Recursos personalizados
ClickHouseCluster
KeeperCluster
Coordenação
O ClickHouse Keeper é obrigatório
keeperClusterRef. Por padrão, o operador procura no espaço de nomes do ClickHouseCluster, mas você também pode definir keeperClusterRef.namespace para apontar para um KeeperCluster em outro espaço de nomes monitorado.
Relação um para um com o Keeper
- Vários ClickHouseClusters não podem apontar para o mesmo KeeperCluster
- Recriar um ClickHouseCluster exige recriar também seu KeeperCluster
Volumes persistentes não são excluídos automaticamente quando os recursos ClickHouseCluster ou KeeperCluster são excluídos.
- Exclua o recurso ClickHouseCluster
- Exclua o recurso KeeperCluster
- Aguarde até que todos os pods sejam encerrados
- Opcionalmente, exclua os PersistentVolumeClaims se quiser começar do zero
- Recrie o KeeperCluster e o ClickHouseCluster juntos
Replicação do esquema
O que é replicado
- definições de bancos de dados Replicated
- motores de banco de dados de integração (PostgreSQL, MySQL etc.)
- bancos de dados não replicados (Atomic, Ordinary etc.)
- tabelas locais em bancos de dados não replicados
- dados das tabelas (tratados pela replicação do ClickHouse)
Recomendado: use o motor de banco de dados Replicated
- Replicação automática do esquema em todos os nós
- Gerenciamento simplificado de tabelas
- O operador pode se sincronizar com novas réplicas
- Esquema consistente em todo o cluster
Evite motores que não sejam Replicated
- As tabelas devem ser criadas individualmente em cada réplica
- Pode haver divergência de esquema entre os nós
- O operador não consegue sincronizar automaticamente novas réplicas
Desativar a replicação de esquema
spec.settings.enableDatabaseSync como false no recurso do ClickHouseCluster.
Gerenciamento de armazenamento
Configuração do volume de dados
dataVolumeClaimSpec:
Ciclo de vida do armazenamento
- Criação: PVCs são criados automaticamente com o cluster
- Expansão: compatível se a StorageClass permitir a expansão de volume
- Retenção: PVCs não são excluídos automaticamente quando o cluster é excluído
- Reutilização: PVCs existentes podem ser reutilizados se o cluster for recriado com o mesmo nome
Destaques da configuração padrão
- Cluster pré-configurado: cluster chamado ‘default’ que contém todos os nós do ClickHouse.
- Macros padrão: algumas macros úteis são predefinidas:
{cluster}: nome do cluster (default){shard}: número do shard{replica}: número da réplica
- Armazenamento replicado para entidades de RBAC
- Armazenamento replicado para User Defined Functions (UDF)
Próximas etapas
- Guia de configuração - Opções detalhadas de configuração
- Referência da API - Documentação completa da API