ClickHouseCluster
clickhouseclusters.
Versão da API e Kind
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
spec | ClickHouseClusterSpec | true | ||
status | ClickHouseClusterStatus | true |
ClickHouseClusterList
Versão da API e Kind
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
items | array de ClickHouseCluster | true |
ClickHouseClusterSpec
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
replicas | integer | Número de réplicas no shard único. | false | 3 |
shards | integer | Número de shards no cluster. | false | 1 |
keeperClusterRef | KeeperClusterReference | Referência ao KeeperCluster usado para a coordenação do ClickHouse. Quando o espaço de nomes é omitido, o espaço de nomes do ClickHouseCluster é usado. | true | |
podTemplate | PodTemplateSpec | Parâmetros passados para a especificação do pod do Kubernetes do ClickHouse. | false | |
containerTemplate | ContainerTemplateSpec | Parâmetros passados para a especificação do contêiner do ClickHouse. | false | |
dataVolumeClaimSpec | PersistentVolumeClaimSpec | Especificação do armazenamento persistente para os dados do ClickHouse. | false | |
labels | object (keys:string, values:string) | Rótulos adicionais adicionados aos recursos. | false | |
annotations | object (keys:string, values:string) | Anotações adicionais adicionadas aos recursos. | false | |
podDisruptionBudget | PodDisruptionBudgetSpec | PodDisruptionBudget configura o PDB criado para cada shard. Quando não definido, o operador usa por padrão maxUnavailable=1 para shards com uma única réplica e minAvailable=1 para shards com múltiplas réplicas. | false | |
settings | ClickHouseSettings | Parâmetros de configuração do servidor ClickHouse. | false | |
clusterDomain | string | ClusterDomain é o sufixo de domínio do cluster do Kubernetes usado para resolução de DNS. | false | cluster.local |
upgradeChannel | string | UpgradeChannel especifica o canal de lançamento para verificações de upgrade de versão principal. Quando vazio, apenas atualizações menores serão propostas. Os valores permitidos são: stable, lts ou uma versão major.minor específica (por exemplo, 25.8). | false | |
versionProbeTemplate | VersionProbeTemplate | Sobrescritas de VersionProbeTemplate para o Job de detecção de versão. | false | |
externalSecret | ExternalSecret | ExternalSecret é uma referência opcional a um Secret gerenciado externamente que contém segredos do cluster. O Secret deve estar no mesmo espaço de nomes que o cluster. | false |
ClickHouseClusterStatus
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
conditions | Condition array | false | ||
readyReplicas | integer | ReadyReplicas Número total de réplicas prontas para atender requisições. | false | |
configurationRevision | string | ConfigurationRevision indica a revisão de configuração de destino para cada réplica. | true | |
statefulSetRevision | string | StatefulSetRevision indica a revisão de StatefulSet de destino para cada réplica. | true | |
currentRevision | string | CurrentRevision indica a revisão mais recente da especificação do ClickHouseCluster aplicada. | true | |
updateRevision | string | UpdateRevision indica a revisão mais recente da especificação do ClickHouseCluster solicitada. | true | |
observedGeneration | integer | ObservedGeneration indica a geração mais recente observada pelo controlador. | true | |
version | string | Version indica a versão informada pela imagem do contêiner. | false | |
versionProbeRevision | string | VersionProbeRevision é o hash da imagem da última verificação de versão bem-sucedida. Quando ele corresponder ao hash da imagem atual, a Version em cache será usada diretamente. | false |
ClickHouseSettings
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
defaultUserPassword | DefaultPasswordSelector | Especifica a origem e o tipo da senha do usuário default do ClickHouse. | false | |
logger | LoggerConfig | Configuração de logging do servidor ClickHouse. | false | |
tls | ClusterTLSSpec | Configurações de TLS; permite configurar endpoints seguros e a verificação de certificados para o servidor ClickHouse. | false | |
enableDatabaseSync | boolean | Habilita a sincronização dos bancos de dados do ClickHouse com as réplicas recém-criadas e a limpeza de réplicas obsoletas após a redução de escala. Compatível apenas com bancos de dados Replicated e de integração. | false | true |
extraConfig | RawExtension | Configuração adicional do ClickHouse que será mesclada à configuração padrão. | false | |
extraUsersConfig | RawExtension | Configuração adicional de usuários do ClickHouse que será mesclada à configuração padrão. | false |
ClusterTLSSpec
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
enabled | boolean | Enabled indica se o TLS está habilitado, determinando se portas seguras devem ser abertas. | false | false |
required | boolean | Required especifica se o TLS deve ser exigido para todas as conexões. Desabilita portas não seguras. | false | false |
serverCertSecret | LocalObjectReference | ServerCertSecretRef é uma referência a um Secret de TLS que contém o certificado do servidor. Espera-se que o Secret tenha a mesma estrutura dos certificados gerados pelo cert-manager, com o certificado e a chave privada armazenados, respectivamente, nas chaves “tls.crt” e “tls.key”. | false | |
caBundle | SecretKeySelector | CABundle é uma referência a um Secret de TLS que contém o bundle da CA. Se estiver vazio e ServerCertSecret for especificado, o bundle da CA do certificado será usado. Caso contrário, o bundle de CAs confiáveis do sistema será usado. A chave assumirá o valor padrão “ca.crt” se não for especificada. | false |
ConfigMapKeySelector
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
name | string | O nome do ConfigMap no espaço de nomes do cluster a partir do qual selecionar. | true | |
key | string | A chave do ConfigMap a partir da qual selecionar. Deve ser uma chave válida. | true |
ContainerImage
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
repository | string | Nome do registro da imagem de contêiner Exemplo: docker.io/clickhouse/clickhouse | false | |
tag | string | Tag da imagem de contêiner, mutuamente exclusiva com ‘hash’. Exemplo: 25.3 | false | |
hash | string | Hash da imagem de contêiner, mutuamente exclusiva com ‘tag’. | false |
ContainerTemplateSpec
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
image | ContainerImage | Image é a imagem de contêiner a ser implantada. | true | |
imagePullPolicy | PullPolicy | ImagePullPolicy da imagem, cujo padrão é IfNotPresent. | false | |
resources | ResourceRequirements | Resources define os requisitos de recursos do contêiner do servidor. Mesclados recursivamente com os padrões do operador via SMP. Limites e solicitações individuais sobrescrevem apenas as chaves correspondentes; campos não definidos preservam os padrões do operador. | false | |
volumeMounts | VolumeMount array | VolumeMounts é a lista de montagens de volume do contêiner. Concatenada com as montagens geradas pelo operador. Entradas que compartilham um mountPath com uma montagem do operadorsão mescladas em um volume projetado. | false | |
env | EnvVar array | Env é a lista de variáveis de ambiente a serem definidas no contêiner. Mesclada com os padrões do operador por nome. | false | |
securityContext | SecurityContext | SecurityContext define as opções de segurança com que o contêiner deve ser executado. Um SecurityContext não nulo substitui integralmente os padrões do operador; o usuário passa a ser responsável por toda a estrutura. Quando nulo, os padrões do operador são preservados. Mais informações: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | false | |
livenessProbe | Probe | LivenessProbe sobrescreve a sonda de liveness padrão do operador. | false | |
readinessProbe | Probe | ReadinessProbe sobrescreve a sonda de prontidão padrão do operador. | false |
DefaultPasswordSelector
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
passwordType | string | Tipo da senha fornecida. Consulte a documentação para conhecer os valores possíveis https://clickhouse.com/docs/operations/settings/settings-users#user-namepassword | true | password |
secret | SecretKeySelector | Seleciona o valor da senha a partir de uma chave de Secret | false | |
configMap | ConfigMapKeySelector | Seleciona o valor da senha a partir de uma chave de ConfigMap | false |
ExternalSecret
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
name | string | Nome do Secret. | true | |
policy | ExternalSecretPolicy | A política controla como o operador trata o conteúdo do Secret. Observe (padrão): bloqueia a reconciliação se alguma chave obrigatória estiver ausente. Manage: gera as chaves obrigatórias ausentes no Secret existente. | false | Observe |
ExternalSecretPolicy
| Campo | Descrição |
|---|---|
Observe | ExternalSecretPolicyObserve é a política padrão: o operador lê e valida o Secret; a reconciliação é bloqueada se alguma chave obrigatória estiver ausente. As chaves obrigatórias ausentes e os formatos esperados para elas são informados por meio da condição de status ExternalSecretValid em tempo de execução. |
Manage | ExternalSecretPolicyManage é a política em que o operador preenche quaisquer chaves obrigatórias ausentes, gerando valores para elas. O Secret é atualizado, mas nunca fica sob posse do operador nem é excluído por ele. |
KeeperCluster
keeperclusters.
Versão da API e Kind
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
spec | KeeperClusterSpec | true | ||
status | KeeperClusterStatus | true |
KeeperClusterList
Versão da API e Kind
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
items | KeeperCluster array | true |
KeeperClusterReference
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
name | string | Nome do recurso KeeperCluster. | true | |
namespace | string | Espaço de nomes do recurso KeeperCluster. Quando omitido, é usado o espaço de nomes do ClickHouseCluster. | false |
KeeperClusterSpec
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
replicas | integer | Número de réplicas no cluster | false | 3 |
podTemplate | PodTemplateSpec | Parâmetros passados para a especificação do pod do Kubernetes do Keeper. | false | |
containerTemplate | ContainerTemplateSpec | Parâmetros passados para a especificação do contêiner do Keeper. | false | |
dataVolumeClaimSpec | PersistentVolumeClaimSpec | Especificação do armazenamento persistente para os dados do ClickHouse Keeper. | false | |
labels | object (keys:string, values:string) | Rótulos adicionais adicionados aos recursos. | false | |
annotations | object (keys:string, values:string) | Anotações adicionais adicionadas aos recursos. | false | |
podDisruptionBudget | PodDisruptionBudgetSpec | PodDisruptionBudget configura o PDB criado para o cluster do Keeper. Quando não definido, o operador usa por padrão maxUnavailable=replicas/2 (preservando o quórum em um cluster 2F+1). | false | |
settings | KeeperSettings | Parâmetros de configuração do servidor ClickHouse Keeper. | false | |
clusterDomain | string | ClusterDomain é o sufixo de domínio do cluster Kubernetes usado para a resolução de DNS. | false | cluster.local |
upgradeChannel | string | UpgradeChannel especifica o canal de lançamento para verificações de upgrade de versão principal. Quando vazio, apenas atualizações secundárias serão propostas. Os valores permitidos são: stable, lts ou uma versão major.minor específica (por exemplo, 25.8). | false | |
versionProbeTemplate | VersionProbeTemplate | Sobrescritas de VersionProbeTemplate para o Job de detecção de versão. | false |
KeeperClusterStatus
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
conditions | Condition array | false | ||
readyReplicas | integer | ReadyReplicas Número total de réplicas prontas para atender a solicitações. | false | |
configurationRevision | string | ConfigurationRevision indica a revisão de configuração de destino para cada réplica. | true | |
statefulSetRevision | string | StatefulSetRevision indica a revisão de StatefulSet de destino para cada réplica. | true | |
currentRevision | string | CurrentRevision indica a revisão de spec do KeeperCluster aplicada mais recentemente. | true | |
updateRevision | string | CurrentRevision indica a revisão de spec do KeeperCluster solicitada mais recentemente. | true | |
observedGeneration | integer | ObservedGeneration indica a geração mais recente observada pelo controlador. | true | |
version | string | Version indica a versão informada pela imagem do contêiner. | false | |
versionProbeRevision | string | VersionProbeRevision é o hash da imagem da última verificação de versão bem-sucedida. Quando isso corresponde ao hash da imagem atual, a Version em cache é usada diretamente. | false |
KeeperSettings
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
logger | LoggerConfig | Configuração de logging do servidor ClickHouse Keeper. | false | |
tls | ClusterTLSSpec | Configurações de TLS que permitem configurar endpoints seguros e a verificação de certificados para o servidor ClickHouse Keeper. | false | |
extraConfig | RawExtension | Configuração adicional do ClickHouse Keeper que será mesclada à configuração padrão. | false |
LoggerConfig
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
logToFile | boolean | Se for false, desativa todo o logging em arquivo. | false | true |
jsonLogs | boolean | Se for true, registra em formato JSON. | false | false |
level | string | Nível de verbosidade do logger do servidor. | false | trace |
size | string | Tamanho máximo do arquivo de log. | false | 1000M |
count | integer | Número máximo de arquivos de log a serem mantidos. | false | 50 |
PDBPolicy
| Campo | Descrição |
|---|---|
Enabled | PDBPolicyEnabled habilita a criação de PodDisruptionBudgets pelo operador. |
Disabled | PDBPolicyDisabled desabilita os PodDisruptionBudgets; o operador excluirá o recurso com os rótulos correspondentes. |
Ignored | PDBPolicyIgnored ignora os PodDisruptionBudgets; o operador não criará nem excluirá nenhum PDB, e os PDBs existentes permanecerão inalterados. |
PodDisruptionBudgetSpec
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
policy | PDBPolicy | A política controla se o operador cria PodDisruptionBudgets. O padrão é “Enabled” quando não está definido. Defina-o como “Disabled” para pular a criação do PDB (por exemplo, em ambientes de desenvolvimento). | false | Enabled |
minAvailable | IntOrString | MinAvailable é o número mínimo de pods que devem permanecer disponíveis durante uma interrupção. | false | |
maxUnavailable | IntOrString | MaxUnavailable é o número máximo de pods que podem ficar indisponíveis durante uma interrupção. | false | |
unhealthyPodEvictionPolicy | UnhealthyPodEvictionPolicyType | UnhealthyPodEvictionPolicy define os critérios para quando pods não saudáveis devem ser considerados para evicção. Os valores válidos são “IfReady” e “AlwaysAllow”. | false |
PodTemplateSpec
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
terminationGracePeriodSeconds | inteiro | Duração opcional, em segundos, de que o pod do Kubernetes precisa para ser encerrado de forma graciosa. Pode ser reduzida na solicitação de exclusão. O valor deve ser um inteiro não negativo. O valor zero indica interrupção imediata por meio do sinal kill (sem oportunidade de desligamento). Se esse valor for nil, o período de carência padrão será usado. O período de carência é a duração, em segundos, entre o momento em que os processos em execução no pod do Kubernetes recebem um sinal de encerramento e o momento em que os processos são interrompidos à força com um sinal kill. Defina esse valor como maior que o tempo de limpeza esperado para o seu processo. O padrão é 30 segundos. | false | |
topologySpreadConstraints | TopologySpreadConstraint array | TopologySpreadConstraints descreve como um grupo de pods deve se distribuir entre domínios de topologia . O agendador distribuirá os pods de forma a respeitar as restrições. Todos os topologySpreadConstraints são combinados com AND. Mesclado com os padrões do operador por topologyKey. | false | |
imagePullSecrets | LocalObjectReference array | ImagePullSecrets é uma lista opcional de referências a Secrets no mesmo espaço de nomes, usada para baixar qualquer uma das imagens usadas por este PodSpec. Se especificados, esses Secrets serão passados para os componentes individuais responsáveis por baixar as imagens, para que possam usá-los. Mais informações: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod Mesclado com os padrões do operador por nome. | false | |
nodeSelector | objeto (chaves:string, valores:string) | NodeSelector é um seletor que deve ser satisfeito para que o pod do Kubernetes possa ser executado em um nó. Seletor que deve corresponder aos labels de um nó para que o pod do Kubernetes seja agendado nesse nó. Mais informações: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | false | |
affinity | Afinidade | Se especificado, as restrições de agendamento do pod do Kubernetes. Adicionado aos padrões do operador: as listas de termos de agendamento são concatenadas. | false | |
tolerations | Toleration array | Se especificadas, as tolerâncias do pod do Kubernetes. | false | |
schedulerName | string | Se especificado, o pod do Kubernetes será agendado pelo agendador especificado. Se não for especificado, o pod do Kubernetes será agendado pelo agendador padrão. | false | |
serviceAccountName | string | ServiceAccountName é o nome da ServiceAccount usada para executar este pod do Kubernetes. Mais informações: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | false | |
priorityClassName | string | PriorityClassName é o nome da PriorityClass a ser usada para o pod do Kubernetes. | false | |
runtimeClassName | string | RuntimeClassName é o nome da RuntimeClass a ser usada para o pod do Kubernetes. | false | |
volumes | Volume array | Volumes define a lista de volumes que podem ser montados por contêineres pertencentes ao pod do Kubernetes. Mais informações: https://kubernetes.io/docs/concepts/storage/volumes Mesclados aos valores padrão do operador por nome; um volume do usuário substitui qualquer volume do operador com o mesmo nome. | false | |
securityContext | PodSecurityContext | SecurityContext contém atributos de segurança em nível de pod do Kubernetes e configurações comuns de contêiner. Um SecurityContext não nulo substitui completamente os padrões do operador; o usuário é responsável por toda a estrutura. Quando nulo, os padrões do operador são preservados. | false | |
topologyZoneKey | string | TopologyZoneKey é a chave dos rótulos dos nós. Nós que têm um rótulo com essa chave e valores idênticos são considerados como pertencentes à mesma zona de topologia. Defina-a para habilitar as regras padrão de TopologySpreadConstraints e Affinity, distribuindo os pods entre as zonas. Recomenda-se defini-la como “topology.kubernetes.io/zone” | false | |
nodeHostnameKey | string | NodeHostnameKey é a chave dos rótulos do nó. Nós que têm um rótulo com essa chave e valores idênticos são considerados como estando no mesmo nó. Defina-o para habilitar as regras padrão de AntiAffinity e distribuir réplicas de shards diferentes entre os nós. Recomenda-se defini-lo como “kubernetes.io/hostname” | false | |
initContainers | Container array | InitContainers é a lista de contêineres de inicialização executados antes de o contêiner principal do servidor ser iniciado. Mesclado com os padrões do operador por nome. com o mesmo nome. | false |
SecretKeySelector
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
name | string | O nome do Secret no espaço de nomes do cluster de onde selecionar. | true | |
key | string | A chave do Secret de onde selecionar. Deve ser uma chave de Secret válida. | true |
TemplateMeta
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
labels | objeto (keys:string, values:string) | labels são rótulos aplicados aos objetos de template. | false | |
annotations | objeto (keys:string, values:string) | As anotações são aplicadas aos objetos de template. | false |
VersionProbeContainer
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
name | string | Nome do contêiner. Se estiver vazio, o operador o define como o nome do contêiner da sonda de versão. | true | version-probe |
resources | ResourceRequirements | Resources são os requisitos de recursos computacionais para o contêiner da sonda de versão. Mesclados em profundidade com os padrões do operador via SMP. | false | |
securityContext | SecurityContext | SecurityContext define as opções de segurança para o contêiner da sonda de versão. Mesclado em profundidade com os padrões do operador via SMP. | false |
VersionProbeJobSpec
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
ttlSecondsAfterFinished | integer | TTLSecondsAfterFinished limita o tempo de vida de um Job concluído. | false | |
template | VersionProbePodTemplate | Template descreve o pod do Kubernetes que será criado para o Job de sonda de versão. | false |
VersionProbePodSpec
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
nodeSelector | object (keys:string, values:string) | NodeSelector restringe o pod da sonda de versão aos nós com rótulos correspondentes. | false | |
tolerations | Toleration array | Tolerations do pod da sonda de versão. | false | |
securityContext | PodSecurityContext | SecurityContext contém atributos de segurança no nível do pod para o pod da sonda de versão. | false | |
containers | VersionProbeContainer array | Substituições dos containers do pod da sonda de versão. O campo name é opcional — o operador o preenche com o container padrão. Também é possível especificar um container adicional com um nome diferente. | false |
VersionProbePodTemplate
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
metadata | TemplateMeta | Consulte a documentação da API do Kubernetes para conhecer os campos de metadata. | false | |
spec | VersionProbePodSpec | Especificação do comportamento desejado do pod do Kubernetes de sonda de versão. | false |
VersionProbeTemplate
batchv1.JobTemplateSpec, expondo apenas os campos compatíveis.
| Campo | Tipo | Descrição | Obrigatório | Padrão |
|---|---|---|---|---|
metadata | TemplateMeta | Consulte a documentação da API do Kubernetes para ver os campos de metadata. | false | |
spec | VersionProbeJobSpec | Especificação do comportamento desejado do Job de detecção de versão. | false |