Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Referência da API do ClickHouse Operator

Este documento fornece uma referência detalhada da API dos recursos personalizados do ClickHouse Operator.

AdditionalPort

AdditionalPort declara uma porta TCP adicional a ser exposta no pod do Kubernetes do ClickHouse e no Service headless público.

Campo Tipo Descrição Obrigatório Padrão
name string O nome identifica a porta de forma exclusiva na lista. Usado tanto como nome da porta do contêiner quanto como nome da porta do Service.
Deve ser um DNS_LABEL.
true
port integer port é o número da porta TCP a ser exposta. true

Aparece em:

CABundleSelector

CABundleSelector seleciona uma chave que contém um bundle de CA de um Secret no Espaço de nomes do cluster.

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. false ca.crt

Aparece em:

ClickHouseCluster

ClickHouseCluster é o schema da API clickhouseclusters.

Versão da API e Kind

apiVersion: clickhouse.com/v1alpha1
kind: ClickHouseCluster
Campo Tipo Descrição Obrigatório Padrão
spec ClickHouseClusterSpec true
status ClickHouseClusterStatus true

Aparece em:

ClickHouseClusterList

ClickHouseClusterList contém uma lista de ClickHouseCluster.

Versão da API e Kind

apiVersion: clickhouse.com/v1alpha1
kind: ClickHouseClusterList
Campo Tipo Descrição Obrigatório Padrão
items array de ClickHouseCluster true

ClickHouseClusterSpec

ClickHouseClusterSpec define o estado desejado do ClickHouseCluster.

Field Type Description Required Default
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 utilizado para coordenação do ClickHouse.
Quando Espaço de nomes é omitido, o Espaço de nomes do ClickHouseCluster é utilizado.
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
additionalVolumeClaimTemplates PersistentVolumeClaimTemplate array Templates de PVC adicionais por pod do Kubernetes para armazenamento JBOD / multi-disco.
Cada entrada é propagada no volumeClaimTemplate do StatefulSet, montada em /var/lib/clickhouse/disks/<name> e
adicionada à política de armazenamento JBOD gerada.
O conjunto de discos é fixado na criação.
false
labels object (keys:string, values:string) Rótulos adicionais que são adicionadas aos recursos. false
annotations object (keys:string, values:string) Anotações adicionais que são adicionadas aos recursos. false
podDisruptionBudget PodDisruptionBudgetSpec PodDisruptionBudget configura o PDB criado para cada shard.
Quando não definido, o operador usa como padrão maxUnavailable=1 para shards
de réplica única e minAvailable=1 para shards com múltiplas réplicas.
false
networkPolicy ClickHouseNetworkPolicySpec NetworkPolicy configura a NetworkPolicy gerenciada para o cluster. false
settings ClickHouseSettings Parâmetros de configuração para o servidor ClickHouse. false { }
clusterDomain string ClusterDomain é o sufixo de domínio do cluster do Kubernetes utilizado 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 secundárias serão propostas. Os valores permitidos são: stable, lts ou uma versão major.minor específica (ex.: 25.8).
false
versionProbeTemplate VersionProbeTemplate Substituições do VersionProbeTemplate para o Job de detecção de versão. false
externalSecret ExternalSecret ExternalSecret é uma referência opcional a um Secret gerenciado externamente contendo segredos do cluster.
O secret deve residir no mesmo Espaço de nomes que o cluster.
false
additionalPorts AdditionalPort array AdditionalPorts declara portas TCP extras a serem expostas no pod do Kubernetes do ClickHouse e no Service headless público.
O operador apenas adiciona as portas aos recursos do Kubernetes, não configura o servidor ClickHouse para escutá-las.
false

Aparece em:

ClickHouseClusterStatus

ClickHouseClusterStatus define o estado observado de ClickHouseCluster.

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

Aparece em:

ClickHouseNetworkPolicySpec

ClickHouseNetworkPolicySpec configura a NetworkPolicy gerenciada para o cluster do ClickHouse. A política gerenciada abrange o tráfego interno do cluster:

  • Conectividade entre réplicas
  • Acesso do operador ao cluster Qualquer outra Entrada, incluindo conexões de clientes e coleta de métricas, exige NetworkPolicies definidas pelo usuário.
Campo Tipo Descrição Obrigatório Padrão
policy NetworkPolicyPolicy A política controla se o operador gerencia uma NetworkPolicy que restringe a Entrada aos pods do cluster.
O padrão é "Disabled" quando não definida.
false Disabled

Aparece em:

ClickHouseSettings

ClickHouseSettings define as opções de configuração do servidor ClickHouse.

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
encryption EncryptionSettings Criptografia, quando definida, habilita a criptografia em repouso dos dados da tabela por meio de uma política de armazenamento dedicada.
Ative por tabela com SETTINGS storage_policy = '<policyName>'.
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

Aparece em:

ClusterTLSSpec

ClusterTLSSpec define a configuração de TLS do cluster.

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 ServerCertSecret é 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 CABundleSelector CABundle é uma referência a uma chave de Secret que contém um bundle de CA usado para verificar certificados de pares.
Se estiver vazio, 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

Aparece em:

ConfigMapKeySelector

ConfigMapKeySelector seleciona uma chave de um ConfigMap.

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

Aparece em:

ContainerImage

ContainerImage define uma imagem de contêiner com repositório, tag ou hash.

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

Aparece em:

ContainerTemplateSpec

ContainerTemplateSpec descreve as sobrescritas de configuração dos contêineres do cluster.

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.
Aplicados como um todo: os padrões do operador são usados somente quando todos os campos de recurso estão vazios.
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 operador
sã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

Aparece em:

DefaultPasswordSelector

DefaultPasswordSelector seleciona a origem da senha do usuário padrão.

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

Aparece em:

EncryptionSettings

EncryptionSettings habilita a criptografia em repouso dos dados de tabelas. Quando presente, o operador gera uma política de armazenamento criptografada do ClickHouse que encapsula cada disco de dados; as tabelas a utilizam por meio de SETTINGS storage_policy. A criptografia não pode ser desabilitada depois de ativada.

Campo Tipo Descrição Obrigatório Padrão
policyName string PolicyName é o nome da política de armazenamento criptografada gerada. false encrypted

Aparece em:

ExternalSecret

ExternalSecret é uma referência a um Secret no mesmo Espaço de nomes.

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

Aparece em:

ExternalSecretPolicy

ExternalSecretPolicy controla como o operador trata o conteúdo do Secret externo.

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.

Aparece em:

KeeperCluster

KeeperCluster é o schema da API keeperclusters.

Versão da API e Kind

apiVersion: clickhouse.com/v1alpha1
kind: KeeperCluster
Campo Tipo Descrição Obrigatório Padrão
spec KeeperClusterSpec true
status KeeperClusterStatus true

Aparece em:

KeeperClusterList

KeeperClusterList contém uma lista de KeeperCluster.

Versão da API e Kind

apiVersion: clickhouse.com/v1alpha1
kind: KeeperClusterList
Campo Tipo Descrição Obrigatório Padrão
items KeeperCluster array true

KeeperClusterReference

KeeperClusterReference identifica o KeeperCluster utilizado por um ClickHouseCluster.

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

Aparece em:

KeeperClusterSpec

KeeperClusterSpec define o estado desejado do KeeperCluster.

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); clusters com uma única réplica usam maxUnavailable=1.
false
networkPolicy KeeperNetworkPolicySpec NetworkPolicy configura a NetworkPolicy gerenciada para o cluster do Keeper. false
settings KeeperSettings Parâmetros de configuração do servidor ClickHouse Keeper. false
clusterDomain string ClusterDomain é o sufixo de domínio do cluster do 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.
Deprecated: os Jobs de sonda de versão do Keeper não são usados; este campo é mantido para compatibilidade retroativa.
false

Aparece em:

KeeperClusterStatus

KeeperClusterStatus define o estado observado de KeeperCluster.

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 UpdateRevision 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 pelo servidor Keeper. false
versionProbeRevision string VersionProbeRevision é o hash da imagem da última sonda de versão bem-sucedida.
Obsoleto: Jobs de sonda de versão do Keeper não são usados; este campo é mantido por compatibilidade retroativa.
false

Aparece em:

KeeperNetworkPolicySpec

KeeperNetworkPolicySpec configura a NetworkPolicy gerenciada para o cluster Keeper. A política gerenciada abrange o tráfego interno do cluster:

  • Conectividade entre réplicas
  • Acesso do operador ao cluster
  • Acesso de clusters ClickHouse que fazem referência a este cluster Keeper Qualquer outra Entrada, incluindo a coleta de métricas, requer NetworkPolicies definidas pelo usuário.
Campo Tipo Descrição Obrigatório Padrão
policy NetworkPolicyPolicy A política controla se o operador gerencia uma NetworkPolicy que restringe a Entrada nos pods do Keeper.
O padrão é "Disabled" quando não definido.
false Disabled

Aparece em:

KeeperSettings

KeeperSettings define as configurações do servidor ClickHouse Keeper.

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

Aparece em:

LoggerConfig

LoggerConfig define a configuração de logging do servidor.

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

Aparece em:

NamedTemplateMeta

NamedTemplateMeta define as configurações de metadados compatíveis para objetos de template que exigem um nome.

Campo Tipo Descrição Obrigatório Padrão
name string Name é o identificador do recurso. true
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

Aparece em:

NetworkPolicyPolicy

NetworkPolicyPolicy controla se o operador gerencia uma NetworkPolicy para o cluster.

Campo Descrição
Enabled NetworkPolicyEnabled faz com que o operador gerencie uma NetworkPolicy que restringe o tráfego de Entrada para os pods do cluster.
Disabled NetworkPolicyDisabled desabilita a NetworkPolicy gerenciada; o operador a exclui se ela estiver presente.

Aparece em:

PDBPolicy

PDBPolicy controla se os PodDisruptionBudgets serão criados.

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.

Aparece em:

PersistentVolumeClaimTemplate

PersistentVolumeClaimTemplate é um template nomeado para um PersistentVolumeClaim por réplica.

Campo Tipo Descrição Obrigatório Padrão
metadata NamedTemplateMeta Consulte a documentação da API do Kubernetes para os campos de metadata. true
spec PersistentVolumeClaimSpec Spec define as características desejadas de um volume solicitado pelo autor de um pod do Kubernetes.
Mais informações: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
true

Aparece em:

PodDisruptionBudgetSpec

PodDisruptionBudgetSpec configura o PDB criado para o cluster. Exatamente um entre MinAvailable ou MaxUnavailable pode ser definido. Quando nenhum deles é definido, o operador escolhe um padrão seguro com base na contagem de réplicas.

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

Aparece em:

PodTemplateSpec

PodTemplateSpec descreve as substituições da configuração de pod do Kubernetes para os pods do Kubernetes do cluster.

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 ao mesmo domínio de topologia,
por exemplo, a mesma zona de disponibilidade para "topology.kubernetes.io/zone" ou o mesmo nó para "kubernetes.io/hostname".
Defina-a para equilibrar pods que armazenam os mesmos dados (réplicas de um shard no ClickHouse, todas as réplicas no Keeper)
entre os domínios: uma TopologySpreadConstraint obrigatória (maxSkew 1, DoNotSchedule) mais uma regra preferencial de PodAntiAffinity.
Pods de shards diferentes podem compartilhar um domínio, portanto vários pods por domínio são permitidos.
Com menos domínios do que réplicas, várias réplicas compartilham um domínio, ainda assim distribuídas de forma uniforme.
Os pods do ClickHouse também preferem domínios que hospedam os pods do Keeper que eles usam.
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 impor ocupação exclusiva do nó: uma regra obrigatória de PodAntiAffinity entre todos os pods do cluster,
com no máximo um pod por nó, independentemente do shard. Requer pelo menos tantos nós quanto pods;
com menos nós, os pods excedentes permanecem em estado Pending.
Para distribuir réplicas do mesmo shard entre os nós, ao mesmo tempo em que acomoda vários pods por nó,
defina TopologyZoneKey como "kubernetes.io/hostname".
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

Aparece em:

SecretKeySelector

SecretKeySelector seleciona uma chave de um Secret.

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

Aparece em:

TemplateMeta

TemplateMeta define as configurações de metadados compatíveis para objetos de template.

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

Aparece em:

VersionProbeContainer

VersionProbeContainer define substituições no nível do contêiner para a sonda de versão. Os nomes dos campos e as tags JSON correspondem a corev1.Container para que as mesclagens SMP sejam feitas por nome.

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

Aparece em:

VersionProbeJobSpec

VersionProbeJobSpec define substituições no nível do Job para a sonda de versão.

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

Aparece em:

VersionProbePodSpec

VersionProbePodSpec define substituições no nível de pod do Kubernetes para a sonda de versão. Os nomes dos campos e as tags JSON correspondem a corev1.PodSpec para compatibilidade com strategic merge patch.

Campo Tipo Descrição Obrigatório Padrão
nodeSelector object (keys:string, values:string) NodeSelector restringe o pod do Kubernetes da sonda de versão aos nós com rótulos correspondentes. false
tolerations Toleration array Tolerations do pod do Kubernetes da sonda de versão. false
securityContext PodSecurityContext SecurityContext contém atributos de segurança no nível do pod do Kubernetes para o pod do Kubernetes da sonda de versão. false
containers VersionProbeContainer array Substituições dos containers do pod do Kubernetes 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

Aparece em:

VersionProbePodTemplate

VersionProbePodTemplate descreve substituições para o pod do Kubernetes de sonda de versão.

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

Aparece em:

VersionProbeTemplate

VersionProbeTemplate define substituições para o Job de detecção de versão. A estrutura corresponde a 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

Aparece em:

Navigation