ClickHouseCluster
clickhouseclusters.
Versión de la API y tipo
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
spec | ClickHouseClusterSpec | true | ||
status | ClickHouseClusterStatus | true |
ClickHouseClusterList
Versión de API y tipo
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
items | ClickHouseCluster array | true |
ClickHouseClusterSpec
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
replicas | integer | Número de réplicas en el único segmento. | false | 3 |
shards | integer | Número de segmentos en el clúster. | false | 1 |
keeperClusterRef | KeeperClusterReference | Referencia al KeeperCluster que se usa para la coordinación de ClickHouse. Cuando se omite el espacio de nombres, se usa el espacio de nombres de ClickHouseCluster. | true | |
podTemplate | PodTemplateSpec | Parámetros que se pasan a la especificación del pod de Kubernetes de ClickHouse. | false | |
containerTemplate | ContainerTemplateSpec | Parámetros que se pasan a la especificación del contenedor de ClickHouse. | false | |
dataVolumeClaimSpec | PersistentVolumeClaimSpec | Especificación del almacenamiento persistente para los datos de ClickHouse. | false | |
labels | object (keys:string, values:string) | Etiquetas adicionales que se añaden a los recursos. | false | |
annotations | object (keys:string, values:string) | Anotaciones adicionales que se añaden a los recursos. | false | |
podDisruptionBudget | PodDisruptionBudgetSpec | PodDisruptionBudget configura el PDB creado para cada segmento. Si no se establece, el operador usa de forma predeterminada maxUnavailable=1 para segmentos de una sola réplica y minAvailable=1 para segmentos con varias réplicas. | false | |
settings | ClickHouseSettings | Parámetros de configuración del servidor ClickHouse. | false | |
clusterDomain | string | ClusterDomain es el sufijo de dominio del clúster de Kubernetes que se usa para la resolución DNS. | false | cluster.local |
upgradeChannel | string | UpgradeChannel especifica el canal de versiones para las comprobaciones de actualización de versiones principales. Cuando está vacío, solo se propondrán actualizaciones menores. Los valores permitidos son: stable, lts o una versión major.minor específica (por ejemplo, 25.8). | false | |
versionProbeTemplate | VersionProbeTemplate | Anulaciones de VersionProbeTemplate para el Job de detección de versión. | false | |
externalSecret | ExternalSecret | ExternalSecret es una referencia opcional a un secreto gestionado externamente que contiene secretos del clúster. El secreto debe residir en el mismo espacio de nombres que el clúster. | false |
ClickHouseClusterStatus
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
conditions | array de Condition | false | ||
readyReplicas | integer | ReadyReplicas Número total de réplicas listas para procesar solicitudes. | false | |
configurationRevision | string | ConfigurationRevision indica la revisión de configuración de destino para cada réplica. | true | |
statefulSetRevision | string | StatefulSetRevision indica la revisión de StatefulSet de destino para cada réplica. | true | |
currentRevision | string | CurrentRevision indica la revisión de la especificación de ClickHouseCluster aplicada más recientemente. | true | |
updateRevision | string | UpdateRevision indica la revisión de la especificación de ClickHouseCluster solicitada más recientemente. | true | |
observedGeneration | integer | ObservedGeneration indica la generación más reciente observada por el controlador. | true | |
version | string | Version indica la versión informada por la imagen del contenedor. | false | |
versionProbeRevision | string | VersionProbeRevision es el hash de la imagen de la última comprobación de versión correcta. Cuando coincide con el hash de la imagen actual, la Version en caché se utiliza directamente. | false |
ClickHouseSettings
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
defaultUserPassword | DefaultPasswordSelector | Especifica el origen y el tipo de la contraseña del usuario default de ClickHouse. | false | |
logger | LoggerConfig | Configuración del registro del servidor ClickHouse. | false | |
tls | ClusterTLSSpec | Configuración de TLS; permite configurar endpoints seguros y la verificación de certificados para el servidor ClickHouse. | false | |
enableDatabaseSync | boolean | Habilita la sincronización de las bases de datos de ClickHouse con las réplicas recién creadas y la limpieza de réplicas desactualizadas tras reducir la escala. Solo es compatible con las bases de datos Replicated y de integración. | false | true |
extraConfig | RawExtension | Configuración adicional de ClickHouse que se combinará con la predeterminada. | false | |
extraUsersConfig | RawExtension | Configuración adicional de usuarios de ClickHouse que se combinará con la predeterminada. | false |
ClusterTLSSpec
| Field | Type | Description | Required | Default |
|---|---|---|---|---|
enabled | boolean | Enabled indica si TLS está habilitado, lo que determina si deben abrirse puertos seguros. | false | false |
required | boolean | Required especifica si TLS debe aplicarse a todas las conexiones. Deshabilita los puertos no seguros. | false | false |
serverCertSecret | LocalObjectReference | ServerCertSecretRef es una referencia a un secreto de TLS que contiene el certificado del servidor. Se espera que el secreto tenga la misma estructura que los certificados generados por cert-manager, con el certificado y la clave privada almacenados en las claves “tls.crt” y “tls.key”, respectivamente. | false | |
caBundle | SecretKeySelector | CABundle es una referencia a un secreto de TLS que contiene el paquete de certificados de la CA. Si está vacío y se especifica ServerCertSecret, se usará el paquete de certificados de la CA del certificado. De lo contrario, se usará el paquete de certificados de CA de confianza del sistema. La clave toma por defecto el valor “ca.crt” si no se especifica. | false |
ConfigMapKeySelector
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
name | string | El nombre del ConfigMap en el espacio de nombres del clúster del que se va a seleccionar. | true | |
key | string | La clave del ConfigMap que se va a seleccionar. Debe ser una clave válida. | true |
ContainerImage
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
repository | string | Nombre del registro de la imagen del contenedor Ejemplo: docker.io/clickhouse/clickhouse | false | |
tag | string | Tag de la imagen del contenedor, mutuamente excluyente con hash.Ejemplo: 25.3 | false | |
hash | string | Hash de la imagen del contenedor, mutuamente excluyente con tag. | false |
ContainerTemplateSpec
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
image | ContainerImage | Image es la imagen de contenedor que se va a desplegar. | true | |
imagePullPolicy | PullPolicy | ImagePullPolicy de la imagen; de forma predeterminada, es IfNotPresent. | false | |
resources | ResourceRequirements | Resources son los requisitos de recursos del contenedor del servidor. Se combinan de forma recursiva con los valores predeterminados del operador mediante SMP. Los límites y solicitudes individuales reemplazan solo las claves coincidentes; los campos no establecidos conservan los valores predeterminados del operador. | false | |
volumeMounts | VolumeMount array | VolumeMounts es la lista de montajes de volumen del contenedor. Se concatena con los montajes generados por el operador. Las entradas que comparten un mountPath con un montaje del operadorse combinan en un volumen proyectado. | false | |
env | EnvVar array | Env es la lista de variables de entorno que se establecerán en el contenedor. Se combina con los valores predeterminados del operador por nombre. | false | |
securityContext | SecurityContext | SecurityContext define las opciones de seguridad con las que debe ejecutarse el contenedor. Un SecurityContext no nulo reemplaza por completo los valores predeterminados del operador; el usuario es responsable de toda la estructura. Cuando es nulo, se conservan los valores predeterminados del operador. Más información: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | false | |
livenessProbe | Probe | LivenessProbe anula la sonda de actividad predeterminada del operador. | false | |
readinessProbe | Probe | ReadinessProbe anula la readiness probe predeterminada del operador. | false |
DefaultPasswordSelector
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
passwordType | string | Tipo de la contraseña proporcionada. Consulte la documentación para conocer los valores posibles: https://clickhouse.com/docs/operations/settings/settings-users#user-namepassword | true | password |
secret | SecretKeySelector | Selecciona el valor de la contraseña desde una clave de secreto | false | |
configMap | ConfigMapKeySelector | Selecciona el valor de la contraseña desde una clave de ConfigMap | false |
ExternalSecret
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
name | string | Nombre del secreto. | true | |
policy | ExternalSecretPolicy | La política controla cómo se trata el contenido del secreto. Observe (predeterminado): bloquea la reconciliación si falta alguna clave obligatoria. Manage: genera en el secreto existente las claves obligatorias que faltan. | false | Observe |
ExternalSecretPolicy
| Campo | Descripción |
|---|---|
Observe | ExternalSecretPolicyObserve es la política predeterminada: el operador lee y valida el secreto; la reconciliación se bloquea si falta alguna clave requerida. Las claves requeridas ausentes y sus formatos esperados se notifican mediante la condición de estado ExternalSecretValid en tiempo de ejecución. |
Manage | ExternalSecretPolicyManage es la política en la que el operador completa cualquier clave requerida que falte generando valores para ella. El secreto se actualiza, pero el operador nunca asume su propiedad ni lo elimina. |
KeeperCluster
keeperclusters.
Versión de la API y tipo
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
spec | KeeperClusterSpec | true | ||
status | KeeperClusterStatus | true |
KeeperClusterList
Versión de la API y tipo
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
items | Array de KeeperCluster | true |
KeeperClusterReference
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
name | string | Nombre del recurso KeeperCluster. | true | |
namespace | string | Espacio de nombres del recurso KeeperCluster. Si se omite, se usa el espacio de nombres de ClickHouseCluster. | false |
KeeperClusterSpec
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
replicas | integer | Número de réplicas en el clúster | false | 3 |
podTemplate | PodTemplateSpec | Parámetros que se pasan a la especificación del pod de Kubernetes de Keeper. | false | |
containerTemplate | ContainerTemplateSpec | Parámetros que se pasan a la especificación del contenedor de Keeper. | false | |
dataVolumeClaimSpec | PersistentVolumeClaimSpec | Especificación del almacenamiento persistente para los datos de ClickHouse Keeper. | false | |
labels | object (keys:string, values:string) | Etiquetas adicionales que se añaden a los recursos. | false | |
annotations | object (keys:string, values:string) | Anotaciones adicionales que se añaden a los recursos. | false | |
podDisruptionBudget | PodDisruptionBudgetSpec | PodDisruptionBudget configura el PDB creado para el clúster de Keeper. Si no se establece, el operador usa de forma predeterminada maxUnavailable=replicas/2 (para preservar el quorum en un clúster 2F+1). | false | |
settings | KeeperSettings | Parámetros de configuración del servidor de ClickHouse Keeper. | false | |
clusterDomain | string | ClusterDomain es el sufijo de dominio del clúster de Kubernetes que se usa para la resolución DNS. | false | cluster.local |
upgradeChannel | string | UpgradeChannel especifica el canal de versiones para las comprobaciones de actualización de versiones principales. Si está vacío, solo se propondrán actualizaciones menores. Los valores permitidos son: stable, lts o una versión específica major.minor (por ejemplo, 25.8). | false | |
versionProbeTemplate | VersionProbeTemplate | Sobrescrituras de VersionProbeTemplate para el Job de detección de versión. | false |
KeeperClusterStatus
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
conditions | Condition array | false | ||
readyReplicas | integer | ReadyReplicas Número total de réplicas listas para atender solicitudes. | false | |
configurationRevision | string | ConfigurationRevision indica la revisión de configuración de destino para cada réplica. | true | |
statefulSetRevision | string | StatefulSetRevision indica la revisión de StatefulSet de destino para cada réplica. | true | |
currentRevision | string | CurrentRevision indica la última revisión de la especificación de KeeperCluster aplicada. | true | |
updateRevision | string | UpdateRevision indica la última revisión de la especificación de KeeperCluster solicitada. | true | |
observedGeneration | integer | ObservedGeneration indica la última generación observada por el controlador. | true | |
version | string | Version indica la versión informada por la imagen del contenedor. | false | |
versionProbeRevision | string | VersionProbeRevision es el hash de la imagen de la última comprobación de versión correcta. Cuando coincide con el hash actual de la imagen, la Version almacenada en caché se usa directamente. | false |
KeeperSettings
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
logger | LoggerConfig | Configuración del logging del servidor de ClickHouse Keeper. | false | |
tls | ClusterTLSSpec | Configuración de TLS; permite configurar endpoints seguros y la verificación de certificados para el servidor de ClickHouse Keeper. | false | |
extraConfig | RawExtension | Configuración adicional de ClickHouse Keeper que se combinará con la configuración predeterminada. | false |
LoggerConfig
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
logToFile | booleano | Si es false, desactiva todo el registro en archivos. | false | true |
jsonLogs | booleano | Si es true, registra en formato JSON. | false | false |
level | cadena | Nivel de verbosidad del logger del servidor. | false | trace |
size | cadena | Tamaño máximo del archivo de logs. | false | 1000M |
count | entero | Número máximo de archivos de logs que se conservan. | false | 50 |
PDBPolicy
| Campo | Descripción |
|---|---|
Enabled | PDBPolicyEnabled habilita la creación de PodDisruptionBudgets por parte del operador. |
Disabled | PDBPolicyDisabled deshabilita los PodDisruptionBudgets; el operador eliminará el recurso con las etiquetas correspondientes. |
Ignored | PDBPolicyIgnored ignora los PodDisruptionBudgets; el operador no creará ni eliminará ningún PDB, y los PDB existentes no se modificarán. |
PodDisruptionBudgetSpec
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
policy | PDBPolicy | Policy controla si el operador crea PodDisruptionBudgets. De forma predeterminada, es “Enabled” cuando no se establece. Establézcalo en “Disabled” para omitir la creación de PDB (p. ej., en entornos de desarrollo). | false | Enabled |
minAvailable | IntOrString | MinAvailable es la cantidad mínima de pods que deben permanecer disponibles durante una interrupción. | false | |
maxUnavailable | IntOrString | MaxUnavailable es la cantidad máxima de pods que pueden no estar disponibles durante una interrupción. | false | |
unhealthyPodEvictionPolicy | UnhealthyPodEvictionPolicyType | UnhealthyPodEvictionPolicy define los criterios para determinar cuándo los pods no saludables deben considerarse para su desalojo. Los valores válidos son “IfReady” y “AlwaysAllow”. | false |
PodTemplateSpec
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
terminationGracePeriodSeconds | entero | Duración opcional en segundos que el pod de Kubernetes necesita para finalizar correctamente. Puede reducirse en la solicitud de eliminación. El valor debe ser un entero no negativo. El valor cero indica que se detiene inmediatamente mediante la señal kill (sin posibilidad de apagarse). Si este valor es nil, se usará en su lugar el período de gracia predeterminado. El período de gracia es la duración en segundos entre el momento en que se envía una señal de terminación a los procesos en ejecución en el pod de Kubernetes y el momento en que dichos procesos se detienen por la fuerza con una señal kill. Establezca este valor por encima del tiempo de limpieza previsto para su proceso. El valor predeterminado es de 30 segundos. | false | |
topologySpreadConstraints | TopologySpreadConstraint array | TopologySpreadConstraints describe cómo un grupo de pods debe distribuirse entre dominios de topología. El scheduler programará los pods de una forma que respete las restricciones. Todos los topologySpreadConstraints se combinan mediante AND. Se combina con los valores predeterminados del operador por topologyKey. | false | |
imagePullSecrets | LocalObjectReference array | ImagePullSecrets es una lista opcional de referencias a secretos del mismo espacio de nombres que se usan para descargar cualquiera de las imágenes utilizadas por este PodSpec. Si se especifican, estos secretos se pasarán a las implementaciones individuales encargadas de la descarga para su uso. Más información: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod Se combina con los valores predeterminados del operador por nombre. | false | |
nodeSelector | objeto (claves:string, valores:string) | NodeSelector es un selector que debe cumplirse para que el pod de Kubernetes pueda asignarse a un nodo. Selector que debe coincidir con las etiquetas de un nodo para que el pod de Kubernetes se programe en ese nodo. Más información: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | false | |
affinity | Affinity | Si se especifica, las restricciones de planificación del pod de Kubernetes. Se agrega a los valores predeterminados del operador: las listas de términos de planificación se concatenan. | false | |
tolerations | Toleration array | Si se especifica, las toleraciones del pod de Kubernetes. | false | |
schedulerName | string | Si se especifica, el pod de Kubernetes será programado por el scheduler especificado. Si no se especifica, el pod de Kubernetes será programado por el scheduler predeterminado. | false | |
serviceAccountName | string | ServiceAccountName es el nombre de la cuenta de servicio que se usará para ejecutar este pod de Kubernetes. Más información: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | false | |
priorityClassName | string | PriorityClassName es el nombre de la PriorityClass que se usará para el pod de Kubernetes. | false | |
runtimeClassName | string | RuntimeClassName es el nombre de la RuntimeClass que se usará para el pod de Kubernetes. | false | |
volumes | Volume array | Volumes define la lista de volúmenes que pueden montar los contenedores del pod de Kubernetes. Más información: https://kubernetes.io/docs/concepts/storage/volumes Se fusiona con los valores predeterminados del operador por nombre; un volumen de usuario reemplaza cualquier volumen del operador con el mismo nombre. | false | |
securityContext | PodSecurityContext | SecurityContext define atributos de seguridad a nivel de pod de Kubernetes y opciones de configuración comunes de los contenedores. Un SecurityContext distinto de nil reemplaza por completo los valores predeterminados del operador; el usuario es responsable de la estructura completa. Cuando es nil, se conservan los valores predeterminados del operador. | false | |
topologyZoneKey | string | TopologyZoneKey es la clave de las etiquetas de los nodos. Los nodos que tienen una etiqueta con esta clave y valores idénticos se consideran dentro de la misma zona de topología. Establézcalo para habilitar las reglas predeterminadas de TopologySpreadConstraints y Affinity a fin de distribuir los pods entre zonas. Se recomienda establecerlo en “topology.kubernetes.io/zone” | false | |
nodeHostnameKey | string | NodeHostnameKey es la clave de las etiquetas de los nodos. Los nodos que tienen una etiqueta con esta clave y valores idénticos se consideran pertenecientes al mismo nodo. Establézcala para habilitar las reglas predeterminadas de AntiAffinity y distribuir las réplicas de los distintos segmentos entre los nodos. Se recomienda establecerla en “kubernetes.io/hostname” | false | |
initContainers | Container array | InitContainers es la lista de contenedores de inicialización que se ejecutan antes de que se inicie el contenedor principal del servidor. Se combina con los valores predeterminados del operador por nombre. si tienen el mismo nombre. | false |
SecretKeySelector
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
name | string | El nombre del secreto en el espacio de nombres del clúster del que se seleccionará. | true | |
key | string | La clave del secreto que se seleccionará. Debe ser una clave de secreto válida. | true |
TemplateMeta
| Campo | Tipo | Descripción | Obligatorio | Por defecto |
|---|---|---|---|---|
labels | objeto (claves:string, valores:string) | Las etiquetas se aplican a los objetos de plantilla. | false | |
annotations | objeto (claves:string, valores:string) | Las anotaciones se aplican a los objetos de plantilla. | false |
VersionProbeContainer
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
name | string | Nombre del contenedor. Si está vacío, el operador lo establece con el nombre del contenedor de la sonda de versión. | true | version-probe |
resources | ResourceRequirements | Los recursos son los requisitos de recursos de cómputo para el contenedor de la sonda de versión. Se fusionan en profundidad con los valores predeterminados del operador mediante SMP. | false | |
securityContext | SecurityContext | SecurityContext define las opciones de seguridad para el contenedor de la sonda de versión. Se fusiona en profundidad con los valores predeterminados del operador mediante SMP. | false |
VersionProbeJobSpec
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
ttlSecondsAfterFinished | integer | TTLSecondsAfterFinished limita la vida útil de un Job completado. | false | |
template | VersionProbePodTemplate | Template describe el pod de Kubernetes que se creará para el Job de la sonda de versión. | false |
VersionProbePodSpec
corev1.PodSpec para mantener la compatibilidad con strategic merge patch.
| Field | Type | Description | Required | Default |
|---|---|---|---|---|
nodeSelector | object (keys:string, values:string) | NodeSelector restringe el pod de Kubernetes de la sonda de versión a nodos con etiquetas coincidentes. | false | |
tolerations | Toleration array | Tolerations para el pod de Kubernetes de la sonda de versión. | false | |
securityContext | PodSecurityContext | SecurityContext contiene atributos de seguridad a nivel de pod para el pod de Kubernetes de la sonda de versión. | false | |
containers | VersionProbeContainer array | Anulaciones de contenedores para el pod de Kubernetes de la sonda de versión. El campo name es opcional; el operador lo completa con el contenedor predeterminado.Se puede especificar un contenedor adicional con un nombre distinto. | false |
VersionProbePodTemplate
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
metadata | TemplateMeta | Consulte la documentación de la API de Kubernetes para conocer los campos de metadata. | false | |
spec | VersionProbePodSpec | Especificación del comportamiento deseado del pod de Kubernetes de comprobación de versión. | false |
VersionProbeTemplate
| Campo | Tipo | Descripción | Requerido | Predeterminado |
|---|---|---|---|---|
metadata | TemplateMeta | Consulta la documentación de la API de Kubernetes para conocer los campos de metadata. | false | |
spec | VersionProbeJobSpec | Especificación del comportamiento deseado del Job de detección de versión. | false |