Este documento ofrece una referencia detallada de la API de los recursos personalizados de ClickHouse Operator.
AdditionalPort
AdditionalPort define un puerto TCP adicional que se expondrá en el pod de Kubernetes de ClickHouse y en el Service headless público.
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
name |
string | El nombre identifica de forma única el puerto dentro de la lista. Se utiliza tanto como nombre del puerto del contenedor como nombre del puerto del Service. Debe ser una DNS_LABEL. |
true | |
port |
integer | El puerto es el número de puerto TCP que se va a exponer. | true |
Aparece en:
CABundleSelector
CABundleSelector selecciona una clave que contiene un paquete de certificados de CA de un secreto en el Espacio de nombres del clúster.
| 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. | false | ca.crt |
Aparece en:
ClickHouseCluster
ClickHouseCluster es el esquema de la API clickhouseclusters.
Versión de la API y tipo
apiVersion: clickhouse.com/v1alpha1
kind: ClickHouseCluster| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
spec |
ClickHouseClusterSpec | true | ||
status |
ClickHouseClusterStatus | true |
Aparece en:
ClickHouseClusterList
ClickHouseClusterList contiene una lista de ClickHouseCluster.
Versión de API y tipo
apiVersion: clickhouse.com/v1alpha1
kind: ClickHouseClusterList| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
items |
ClickHouseCluster array | true |
ClickHouseClusterSpec
ClickHouseClusterSpec define el estado deseado de ClickHouseCluster.
| Field | Type | Description | Required | Default |
|---|---|---|---|---|
replicas |
integer | Número de réplicas en el shard único. | false | 3 |
shards |
integer | Número de shards en el clúster. | false | 1 |
keeperClusterRef |
KeeperClusterReference | Referencia al KeeperCluster que se utiliza para la coordinación de ClickHouse. Cuando se omite el Espacio de nombres, se utiliza el Espacio de nombres de ClickHouseCluster. |
true | |
podTemplate |
PodTemplateSpec | Parámetros pasados a la especificación del pod de Kubernetes de ClickHouse. | false | |
containerTemplate |
ContainerTemplateSpec | Parámetros pasados a la especificación del contenedor de ClickHouse. | false | |
dataVolumeClaimSpec |
PersistentVolumeClaimSpec | Especificación del almacenamiento persistente para los datos de ClickHouse. | false | |
additionalVolumeClaimTemplates |
PersistentVolumeClaimTemplate array | Plantillas de PVC adicionales por pod de Kubernetes para almacenamiento JBOD / multidisco. Cada entrada se propaga en el volumeClaimTemplate del StatefulSet, se monta en /var/lib/clickhouse/disks/<name> yse añade a la política de almacenamiento JBOD generada. El conjunto de discos queda fijo en el momento de la creación. |
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 shard. Cuando no se establece, el operador usa por defecto maxUnavailable=1 para shards de réplica única y minAvailable=1 para shards de múltiples réplicas. |
false | |
networkPolicy |
ClickHouseNetworkPolicySpec | NetworkPolicy configura la NetworkPolicy gestionada para el clúster. | false | |
settings |
ClickHouseSettings | Parámetros de configuración para el servidor ClickHouse. | false | { } |
clusterDomain |
string | ClusterDomain es el sufijo de dominio del clúster de Kubernetes utilizado para la resolución DNS. | false | cluster.local |
upgradeChannel |
string | UpgradeChannel especifica el canal de versiones para las comprobaciones de actualización de versión principal. Cuando está vacío, solo se propondrán actualizaciones menores. Los valores permitidos son: stable, lts o una versión major.minor específica (p. ej. 25.8). |
false | |
versionProbeTemplate |
VersionProbeTemplate | Sobreescrituras 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 los secretos del clúster. El secreto debe residir en el mismo Espacio de nombres que el clúster. |
false | |
additionalPorts |
AdditionalPort array | AdditionalPorts declara puertos TCP adicionales para exponer en el pod de Kubernetes de ClickHouse y el Service headless público. El operador solo añade los puertos a los recursos de Kubernetes, no configura el servidor ClickHouse para que escuche en ellos. |
false |
Aparece en:
ClickHouseClusterStatus
ClickHouseClusterStatus define el estado observado de ClickHouseCluster.
| 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 sonda de versión correcta. Cuando coincide con el hash de la imagen actual, la Version en caché se utiliza directamente. |
false |
Aparece en:
ClickHouseNetworkPolicySpec
ClickHouseNetworkPolicySpec configura la NetworkPolicy gestionada del clúster de ClickHouse. La política gestionada cubre el tráfico interno del clúster:
- Conectividad entre réplicas
- Acceso del operador al clúster Cualquier otro ingreso, incluidas las conexiones de clientes y el scraping de métricas, requiere NetworkPolicies definidas por el usuario.
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
policy |
NetworkPolicyPolicy | La política controla si el operador administra una NetworkPolicy que restringe el ingreso a los pods del clúster. El valor predeterminado es "Disabled" si no se especifica. |
false | Disabled |
Aparece en:
ClickHouseSettings
ClickHouseSettings define las opciones de configuración del servidor ClickHouse.
| 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 | |
encryption |
EncryptionSettings | El cifrado, cuando se configura, habilita el cifrado en reposo de los datos de las tablas mediante una política de almacenamiento dedicada. Actívelo por tabla con SETTINGS storage_policy = '<policyName>'. |
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 |
Aparece en:
ClusterTLSSpec
ClusterTLSSpec define la configuración de TLS del clúster.
| 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 | ServerCertSecret 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 |
CABundleSelector | CABundle es una referencia a una clave de secreto que contiene un paquete de certificados de CA usado para verificar certificados de pares. Si está vacío, 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 |
Aparece en:
ConfigMapKeySelector
ConfigMapKeySelector selecciona una clave de un ConfigMap.
| 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 |
Aparece en:
ContainerImage
ContainerImage define una imagen de contenedor con un repositorio, un tag o un hash.
| 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 |
Aparece en:
ContainerTemplateSpec
ContainerTemplateSpec describe las anulaciones de la configuración de los contenedores del clúster.
| 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 aplica en su conjunto: los valores predeterminados del operador solo se usan cuando todos los campos de recursos están vacíos. |
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 |
Aparece en:
DefaultPasswordSelector
DefaultPasswordSelector selecciona el origen de la contraseña predeterminada del usuario.
| 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 |
Aparece en:
EncryptionSettings
EncryptionSettings habilita el cifrado en reposo de los datos de las tablas. Cuando está presente, el operator genera una
política de almacenamiento cifrada de ClickHouse que envuelve cada disco de datos; las tablas la habilitan mediante SETTINGS storage_policy.
El cifrado no se puede deshabilitar una vez activado.
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
policyName |
string | PolicyName es el nombre de la política de almacenamiento cifrada generada. | false | encrypted |
Aparece en:
ExternalSecret
ExternalSecret es una referencia a un secreto en el mismo espacio de nombres.
| 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 |
Aparece en:
ExternalSecretPolicy
ExternalSecretPolicy controla cómo el operador gestiona el contenido del secreto externo.
| 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. |
Aparece en:
KeeperCluster
KeeperCluster es el esquema de la API keeperclusters.
Versión de la API y tipo
apiVersion: clickhouse.com/v1alpha1
kind: KeeperCluster| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
spec |
KeeperClusterSpec | true | ||
status |
KeeperClusterStatus | true |
Aparece en:
KeeperClusterList
KeeperClusterList contiene una lista de KeeperCluster.
Versión de la API y tipo
apiVersion: clickhouse.com/v1alpha1
kind: KeeperClusterList| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
items |
Array de KeeperCluster | true |
KeeperClusterReference
KeeperClusterReference identifica el KeeperCluster que utiliza un ClickHouseCluster.
| 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 |
Aparece en:
KeeperClusterSpec
KeeperClusterSpec define el estado deseado de KeeperCluster.
| 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); los clústeres con una sola réplica usan maxUnavailable=1. |
false | |
networkPolicy |
KeeperNetworkPolicySpec | NetworkPolicy configura la NetworkPolicy gestionada para el clúster de Keeper. | 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. Deprecated: los Jobs de sonda de versión de Keeper no se utilizan; este campo se conserva por compatibilidad con versiones anteriores. |
false |
Aparece en:
KeeperClusterStatus
KeeperClusterStatus define el estado observado de KeeperCluster.
| 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 el Keeper server. | false | |
versionProbeRevision |
string | VersionProbeRevision es el hash de la imagen de la última sonda de versión correcta. Obsoleto: los jobs de sonda de versión de Keeper no se usan; este campo se conserva para mantener la compatibilidad con versiones anteriores. |
false |
Aparece en:
KeeperNetworkPolicySpec
KeeperNetworkPolicySpec configura la NetworkPolicy gestionada para el clúster de Keeper. La política gestionada cubre el tráfico interno del clúster:
- Conectividad entre réplicas
- Acceso del operador al clúster
- Acceso desde clústeres de ClickHouse que hacen referencia a este clúster de Keeper
Cualquier otro ingreso, incluido el scraping de métricas, requiere NetworkPolicies definidas por el usuario.
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
policy |
NetworkPolicyPolicy | La política determina si el operador administra una NetworkPolicy que restringe el ingreso a los pods de Keeper. De forma predeterminada, es "Disabled" si no se especifica. |
false | Disabled |
Aparece en:
KeeperSettings
KeeperSettings define la configuración del servidor de ClickHouse Keeper.
| 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 |
Aparece en:
LoggerConfig
LoggerConfig define la configuración de logs del servidor.
| 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 |
Aparece en:
NamedTemplateMeta
NamedTemplateMeta define la configuración de metadatos admitida para los objetos de plantilla que requieren un nombre.
| Campo | Tipo | Descripción | Obligatorio | Por defecto |
|---|---|---|---|---|
name |
string | El nombre es el identificador del recurso. | true | |
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 |
Aparece en:
NetworkPolicyPolicy
NetworkPolicyPolicy controla si el operador administra una NetworkPolicy para el clúster.
| Campo | Descripción |
|---|---|
Enabled |
NetworkPolicyEnabled hace que el operador administre una NetworkPolicy que restringe el ingreso a los pods del clúster. |
Disabled |
NetworkPolicyDisabled deshabilita la NetworkPolicy gestionada; el operador la elimina si existe. |
Aparece en:
PDBPolicy
PDBPolicy controla si se crean PodDisruptionBudgets.
| 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. |
Aparece en:
PersistentVolumeClaimTemplate
PersistentVolumeClaimTemplate es una plantilla con nombre para un PersistentVolumeClaim por réplica.
| Campo | Tipo | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|---|
metadata |
NamedTemplateMeta | Consulta la documentación de la API de Kubernetes para conocer los campos de metadata. |
true | |
spec |
PersistentVolumeClaimSpec | Spec define las características deseadas de un volumen solicitado para un pod de Kubernetes. Más información: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
true |
Aparece en:
PodDisruptionBudgetSpec
PodDisruptionBudgetSpec configura el PDB creado para el clúster. Solo se puede establecer uno de estos valores: MinAvailable o MaxUnavailable. Si no se establece ninguno, el operador elige un valor predeterminado seguro en función del número de réplicas.
| 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 |
Aparece en:
PodTemplateSpec
PodTemplateSpec describe las sobrescrituras de configuración del pod de Kubernetes para los pods del clúster.
| 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 |
Afinidad | 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 del mismo dominio de topología, por ejemplo, la misma zona de disponibilidad para "topology.kubernetes.io/zone" o el mismo nodo para "kubernetes.io/hostname". Establézcalo para equilibrar los pods que contienen los mismos datos (réplicas de un segmento para ClickHouse, todas las réplicas para Keeper) entre dominios: un TopologySpreadConstraint obligatorio (maxSkew 1, DoNotSchedule) más una regla preferida de PodAntiAffinity. Los pods de distintos segmentos pueden compartir un dominio, por lo que se permiten varios pods por dominio. Con menos dominios que réplicas, varias réplicas comparten un dominio, pero siguen distribuyéndose de forma uniforme. Además, los pods de ClickHouse prefieren los dominios que alojan los pods de Keeper que utilizan. 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 forzar la ocupación exclusiva de nodos: una regla obligatoria de PodAntiAffinity en todos los pods del clúster, como máximo un pod por nodo independientemente del segmento. Requiere al menos tantos nodos como pods; si hay menos nodos, los pods excedentes permanecerán en estado Pending. Para distribuir las réplicas del mismo segmento entre nodos mientras se empaquetan varios pods por nodo, establezca TopologyZoneKey en "kubernetes.io/hostname" en su lugar. 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 |
Aparece en:
SecretKeySelector
SecretKeySelector selecciona una clave de un secreto.
| 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 |
Aparece en:
TemplateMeta
TemplateMeta define la configuración de metadatos admitida para los objetos de plantilla.
| 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 |
Aparece en:
VersionProbeContainer
VersionProbeContainer define anulaciones a nivel de contenedor para la sonda de versión. Los nombres de los campos y las etiquetas JSON coinciden con corev1.Container para que SMP haga la fusión por nombre.
| 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 |
Aparece en:
VersionProbeJobSpec
VersionProbeJobSpec define las sobrescrituras a nivel de Job para la sonda de versión.
| 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 |
Aparece en:
VersionProbePodSpec
VersionProbePodSpec define anulaciones a nivel de pod para la sonda de versión.
Los nombres de los campos y las etiquetas JSON coinciden con 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 |
Aparece en:
VersionProbePodTemplate
VersionProbePodTemplate describe las personalizaciones del pod de Kubernetes de sonda de versión.
| 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 sonda de versión. | false |
Aparece en:
VersionProbeTemplate
VersionProbeTemplate define sobreescrituras para el Job de detección de versión. La estructura sigue la de batchv1.JobTemplateSpec y expone solo los campos admitidos.
| 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 la sonda de versión. | false |
Aparece en: