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> eadicionada à 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 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 |
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: