Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Référence de l’API du ClickHouse Operator

Ce document fournit une référence détaillée de l’API pour les ressources personnalisées du ClickHouse Operator.

AdditionalPort

AdditionalPort déclare un port TCP supplémentaire à exposer sur le pod ClickHouse et le Service headless public.

Champ Type Description Obligatoire Par défaut
name string Le nom identifie de façon unique le port dans la liste. Il est utilisé à la fois comme nom de port du conteneur et comme nom de port du Service.
Doit être un DNS_LABEL.
true
port integer port est le numéro de port TCP à exposer. true

Apparaît dans :

CABundleSelector

CABundleSelector sélectionne une clé contenant un bundle de CA à partir d'un Secret dans l'espace de noms du cluster.

Champ Type Description Obligatoire Défaut
name string Le nom du Secret dans l'espace de noms du cluster à partir duquel effectuer la sélection. true
key string La clé du Secret à sélectionner. Doit être une clé de Secret valide. false ca.crt

Apparaît dans :

ClickHouseCluster

ClickHouseCluster est le schéma de l’API clickhouseclusters.

Version de l’API et Kind

apiVersion: clickhouse.com/v1alpha1
kind: ClickHouseCluster
Champ Type Description Obligatoire Par défaut
spec ClickHouseClusterSpec true
status ClickHouseClusterStatus true

Apparaît dans :

ClickHouseClusterList

ClickHouseClusterList contient une liste de ClickHouseCluster.

Version de l’API et Kind

apiVersion: clickhouse.com/v1alpha1
kind: ClickHouseClusterList
Champ Type Description Obligatoire Par défaut
items ClickHouseCluster tableau true

ClickHouseClusterSpec

ClickHouseClusterSpec définit l’état souhaité de ClickHouseCluster.

Champ Type Description Obligatoire Par défaut
replicas integer Nombre de répliques dans l’unique shard. false 3
shards integer Nombre de shards dans le cluster. false 1
keeperClusterRef KeeperClusterReference Référence au KeeperCluster utilisé pour la coordination de ClickHouse.
Lorsque l’espace de noms est omis, celui de ClickHouseCluster est utilisé.
true
podTemplate PodTemplateSpec Paramètres transmis à la spécification du pod ClickHouse. false
containerTemplate ContainerTemplateSpec Paramètres transmis à la spécification du conteneur ClickHouse. false
dataVolumeClaimSpec PersistentVolumeClaimSpec Spécification du stockage persistant pour les données ClickHouse. false
additionalVolumeClaimTemplates PersistentVolumeClaimTemplate tableau Modèles PVC supplémentaires par pod pour le stockage JBOD / multi-disque.
Chaque entrée est propagée dans le volumeClaimTemplate du StatefulSet, montée dans /var/lib/clickhouse/disks/<name> et
ajoutée à la politique de stockage JBOD générée.
L’ensemble des disques est figé à la création.
false
labels object (keys:string, values:string) Labels supplémentaires ajoutés aux ressources. false
annotations object (keys:string, values:string) Annotations supplémentaires ajoutées aux ressources. false
podDisruptionBudget PodDisruptionBudgetSpec PodDisruptionBudget configure le PDB créé pour chaque shard.
S’il n’est pas défini, l’opérateur utilise par défaut maxUnavailable=1 pour les
shards à réplique unique et minAvailable=1 pour les shards à plusieurs répliques.
false
networkPolicy ClickHouseNetworkPolicySpec NetworkPolicy configure la NetworkPolicy gérée pour le cluster. false
settings ClickHouseSettings Paramètres de configuration du serveur ClickHouse. false { }
clusterDomain string ClusterDomain est le suffixe de domaine du cluster Kubernetes utilisé pour la résolution DNS. false cluster.local
upgradeChannel string UpgradeChannel indique le canal de publication utilisé pour les vérifications de mise à niveau majeure.
Lorsqu’il est vide, seules les mises à jour mineures seront proposées. Les valeurs autorisées sont : stable, lts ou une version majeure.mineure spécifique (par ex. 25.8).
false
versionProbeTemplate VersionProbeTemplate Surcharges de VersionProbeTemplate pour le Job de détection de version. false
externalSecret ExternalSecret ExternalSecret est une référence facultative à un Secret géré en externe contenant les secrets du cluster.
Le secret doit se trouver dans le même espace de noms que le cluster.
false
additionalPorts AdditionalPort tableau AdditionalPorts déclare des ports TCP supplémentaires à exposer sur le pod ClickHouse et le Service headless public.
L’opérateur ajoute uniquement ces ports aux ressources Kubernetes ; il ne configure pas le serveur ClickHouse pour écouter sur ces ports.
false

Apparaît dans :

ClickHouseClusterStatus

ClickHouseClusterStatus définit l’état observé de ClickHouseCluster.

Field Type Description Required Default
conditions Condition array false
readyReplicas integer ReadyReplicas indique le nombre total de répliques prêtes à traiter des requêtes. false
configurationRevision string ConfigurationRevision indique la révision de configuration cible pour chaque réplique. true
statefulSetRevision string StatefulSetRevision indique la révision cible du StatefulSet pour chaque réplique. true
currentRevision string CurrentRevision indique la dernière révision de la spécification ClickHouseCluster appliquée. true
updateRevision string UpdateRevision indique la dernière révision demandée de la spécification ClickHouseCluster. true
observedGeneration integer ObservedGeneration indique la dernière génération observée par le contrôleur. true
version string Version indique la version renvoyée par l’image de conteneur. false
versionProbeRevision string VersionProbeRevision correspond au hash de l’image issu de la dernière vérification de version réussie.
Lorsqu’il correspond au hash actuel de l’image, la Version mise en cache est utilisée directement.
false

Apparaît dans :

ClickHouseNetworkPolicySpec

ClickHouseNetworkPolicySpec configure la NetworkPolicy gérée pour le cluster ClickHouse. La politique gérée couvre le trafic interne au cluster :

  • Connectivité entre les réplicas
  • Accès de l’opérateur au cluster

Tout autre trafic entrant, y compris les connexions client et la collecte de métriques, nécessite des NetworkPolicies définies par l’utilisateur.

Champ Type Description Obligatoire Par défaut
policy NetworkPolicyPolicy La politique détermine si l’opérateur gère une NetworkPolicy qui limiter le trafic entrant vers les pods du cluster.
Par défaut, la valeur est « Disabled » lorsqu’elle n’est pas définie.
false Disabled

Apparaît dans :

ClickHouseSettings

ClickHouseSettings définit les options de configuration du serveur ClickHouse.

Champ Type Description Obligatoire Par défaut
defaultUserPassword DefaultPasswordSelector Indique la source et le type du mot de passe de l'utilisateur ClickHouse default. false
logger LoggerConfig Configuration de la journalisation du serveur ClickHouse. false
tls ClusterTLSSpec Paramètres TLS permettant de configurer des endpoints sécurisés et la vérification des certificats pour le serveur ClickHouse. false
encryption EncryptionSettings Le chiffrement, lorsqu’il est défini, active le chiffrement au repos des données de table via une politique de stockage dédiée.
À activer par table avec SETTINGS storage_policy = '<policyName>'.
false
enableDatabaseSync booléen Active la synchronisation des bases de données ClickHouse vers les répliques nouvellement créées, ainsi que le nettoyage des répliques obsolètes
après une réduction du nombre de répliques.
Prend uniquement en charge les bases de données Replicated et d’intégration.
false true
extraConfig RawExtension Configuration ClickHouse supplémentaire qui sera fusionnée avec la configuration par défaut. false
extraUsersConfig RawExtension Configuration supplémentaire des utilisateurs ClickHouse qui sera fusionnée avec la configuration par défaut. false

Apparaît dans :

ClusterTLSSpec

ClusterTLSSpec définit la configuration TLS du cluster.

Field Type Description Required Default
enabled boolean Enabled indique si TLS est activé, ce qui détermine si des ports sécurisés doivent être ouverts. false false
required boolean Required précise si TLS doit être imposé pour toutes les connexions. Désactive les ports non sécurisés. false false
serverCertSecret LocalObjectReference ServerCertSecret est une référence à un Secret TLS contenant le certificat du serveur.
Le Secret doit avoir la même structure que les certificats générés par cert-manager,
le certificat et la clé privée étant stockés respectivement sous les clés "tls.crt" et "tls.key".
false
caBundle CABundleSelector CABundle est une référence à une clé de Secret contenant un bundle de CA utilisé pour vérifier les certificats des pairs.
S'il est vide, le bundle de CA approuvé par le système est utilisé.
La clé prend par défaut la valeur "ca.crt" si elle n'est pas spécifiée.
false

Apparaît dans :

ConfigMapKeySelector

ConfigMapKeySelector sélectionne une clé d'une ConfigMap.

Champ Type Description Obligatoire Par défaut
name string Le nom de la ConfigMap dans l'espace de noms du cluster à sélectionner. true
key string La clé de la ConfigMap à sélectionner. Doit être une clé valide. true

Apparaît dans :

ContainerImage

ContainerImage définit une image de conteneur avec un dépôt, un tag ou un hash.

Champ Type Description Obligatoire Par défaut
repository string Dépôt de l'image de conteneur
Exemple : docker.io/clickhouse/clickhouse
false
tag string Tag de l'image de conteneur, ne peut pas être utilisé avec hash.
Exemple : 25.3
false
hash string Hash de l'image de conteneur, ne peut pas être utilisé avec tag. false

Apparaît dans :

ContainerTemplateSpec

ContainerTemplateSpec décrit les surcharges de configuration des conteneurs du cluster.

Champ Type Description Obligatoire Par défaut
image ContainerImage Image correspond à l’image de conteneur à déployer. true
imagePullPolicy PullPolicy ImagePullPolicy de l’image, qui prend par défaut la valeur IfNotPresent. false
resources ResourceRequirements Resources correspond aux ressources requises pour le conteneur serveur.
S’applique dans son ensemble : les valeurs par défaut de l’opérateur ne sont utilisées que lorsque tous les champs de ressources sont vides.
false
volumeMounts VolumeMount array VolumeMounts est la liste des montages de volumes du conteneur.
Concaténée avec les montages générés par l’opérateur. Les entrées qui partagent un mountPath avec un
montage de l’opérateur sont fusionnées dans un volume projeté.
false
env EnvVar array Env est la liste des variables d’environnement à définir dans le conteneur.
Fusionnée par nom avec les valeurs par défaut de l’opérateur.
false
securityContext SecurityContext SecurityContext définit les options de sécurité avec lesquelles le conteneur doit être exécuté.
Un SecurityContext non nul remplace intégralement les valeurs par défaut de l’opérateur ; l’utilisateur prend en charge l’ensemble de la
structure. Lorsqu’il est nul, les valeurs par défaut de l’opérateur sont conservées.
Plus d’informations : https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
false
livenessProbe Probe LivenessProbe remplace la sonde de liveness par défaut de l’opérateur. false
readinessProbe Probe ReadinessProbe remplace la sonde de readiness par défaut de l’opérateur. false

Apparaît dans :

DefaultPasswordSelector

DefaultPasswordSelector sélectionne la source du mot de passe de l’utilisateur default.

Champ Type Description Requis Défaut
passwordType string Type du mot de passe fourni. Consultez la documentation pour connaître les valeurs possibles https://clickhouse.com/docs/operations/settings/settings-users#user-namepassword true password
secret SecretKeySelector Sélectionne la valeur du mot de passe depuis une clé de Secret false
configMap ConfigMapKeySelector Sélectionne la valeur du mot de passe depuis une clé de ConfigMap false

Apparaît dans :

EncryptionSettings

EncryptionSettings active le chiffrement des données de table au repos. Lorsqu’il est présent, l’opérateur génère une politique de stockage chiffrée ClickHouse qui encapsule chaque disque de données ; les tables l’activent via SETTINGS storage_policy. Le chiffrement ne peut pas être désactivé une fois activé.

Champ Type Description Obligatoire Défaut
policyName string PolicyName est le nom de la politique de stockage chiffrée générée. false encrypted

Apparaît dans :

ExternalSecret

ExternalSecret est une référence à un Secret dans le même espace de noms.

Champ Type Description Requis Par défaut
name string Nom du Secret. true
policy ExternalSecretPolicy La politique contrôle la manière dont l’opérateur traite le contenu du secret.
Observe (par défaut) : bloque la réconciliation si une clé requise est manquante.
Manage : génère les clés requises manquantes dans le secret existant.
false Observe

Apparaît dans :

ExternalSecretPolicy

ExternalSecretPolicy contrôle la façon dont l'opérateur traite le contenu du secret externe.

Champ Description
Observe ExternalSecretPolicyObserve est la politique par défaut : l'opérateur lit et valide le secret;
la réconciliation est bloquée si une clé requise est absente.
Les clés requises manquantes et leurs formats attendus sont signalés via la condition d'état ExternalSecretValid au moment de l'exécution.
Manage ExternalSecretPolicyManage est la politique dans laquelle l'opérateur complète les clés requises manquantes en générant des
valeurs pour celles-ci. Le secret est mis à jour, mais n'est jamais détenu ni supprimé par l'opérateur.

Apparaît dans :

KeeperCluster

KeeperCluster est le schéma de l’API keeperclusters.

Version de l’API et Kind

apiVersion: clickhouse.com/v1alpha1
kind: KeeperCluster
Champ Type Description Obligatoire Par défaut
spec KeeperClusterSpec true
status KeeperClusterStatus true

Apparaît dans :

KeeperClusterList

KeeperClusterList contient une liste de KeeperCluster.

Version de l’API et Kind

apiVersion: clickhouse.com/v1alpha1
kind: KeeperClusterList
Champ Type Description Obligatoire Par défaut
items KeeperCluster tableau true

Référence de KeeperCluster

KeeperClusterReference identifie le KeeperCluster utilisé par un ClickHouseCluster.

Champ Type Description Obligatoire Par défaut
name string Nom de la ressource KeeperCluster. true
namespace string Espace de noms de la ressource KeeperCluster.
S'il n'est pas indiqué, l'espace de noms du ClickHouseCluster est utilisé.
false

Apparaît dans :

KeeperClusterSpec

KeeperClusterSpec définit l’état souhaité de KeeperCluster.

Champ Type Description Obligatoire Par défaut
replicas integer Nombre de répliques dans le cluster false 3
podTemplate PodTemplateSpec Paramètres transmis à la spécification du pod Keeper. false
containerTemplate ContainerTemplateSpec Paramètres transmis à la spécification du conteneur Keeper. false
dataVolumeClaimSpec PersistentVolumeClaimSpec Spécification du stockage persistant pour les données de ClickHouse Keeper. false
labels object (keys:string, values:string) Labels supplémentaires ajoutés aux ressources. false
annotations object (keys:string, values:string) Annotations supplémentaires ajoutées aux ressources. false
podDisruptionBudget PodDisruptionBudgetSpec PodDisruptionBudget configure le PDB créé pour le cluster Keeper.
S’il n’est pas défini, l’opérateur utilise par défaut maxUnavailable=replicas/2
(en préservant le quorum pour un cluster 2F+1) ; les clusters à réplique unique utilisent maxUnavailable=1.
false
networkPolicy KeeperNetworkPolicySpec NetworkPolicy configure la NetworkPolicy gérée pour le cluster Keeper. false
settings KeeperSettings Paramètres de configuration du serveur ClickHouse Keeper. false
clusterDomain string ClusterDomain est le suffixe de domaine du cluster Kubernetes utilisé pour la résolution DNS. false cluster.local
upgradeChannel string UpgradeChannel spécifie le canal de publication utilisé pour les vérifications de mise à niveau majeure.
Lorsqu’il est vide, seules les mises à jour mineures sont proposées. Les valeurs autorisées sont : stable, lts ou une version major.minor spécifique (par ex. 25.8).
false
versionProbeTemplate VersionProbeTemplate Surcharges de VersionProbeTemplate pour le Job de détection de version.
Obsolète : les Jobs de sonde de version de Keeper ne sont pas utilisés ; ce champ est conservé pour la rétrocompatibilité.
false

Apparaît dans :

KeeperClusterStatus

KeeperClusterStatus définit l’état observé de KeeperCluster.

Champ Type Description Requis Par défaut
conditions Condition array false
readyReplicas integer ReadyReplicas Nombre total de répliques prêtes à traiter les requêtes. false
configurationRevision string ConfigurationRevision indique la révision de configuration cible pour chaque réplique. true
statefulSetRevision string StatefulSetRevision indique la révision cible du StatefulSet pour chaque réplique. true
currentRevision string CurrentRevision indique la dernière révision de la spécification KeeperCluster appliquée. true
updateRevision string UpdateRevision indique la dernière révision demandée de la spécification KeeperCluster. true
observedGeneration integer ObservedGeneration indique la dernière génération observée par le contrôleur. true
version string Version indique la version signalée par le serveur Keeper. false
versionProbeRevision string VersionProbeRevision est le hash de l’image de la dernière sonde de version réussie.
Deprecated: les Jobs de sonde de version de Keeper ne sont pas utilisés ; ce champ est conservé pour assurer la rétrocompatibilité.
false

Apparaît dans :

KeeperNetworkPolicySpec

KeeperNetworkPolicySpec configure la NetworkPolicy gérée pour le cluster Keeper. La politique gérée couvre le trafic interne au cluster :

  • Connectivité entre les répliques
  • Accès de l’opérateur au cluster
  • Accès depuis les clusters ClickHouse qui référencent ce cluster Keeper Tout autre trafic entrant, y compris le scraping de métriques, nécessite des NetworkPolicies définies par l’utilisateur.
Champ Type Description Obligatoire Par défaut
policy NetworkPolicyPolicy La politique détermine si l’opérateur gère une NetworkPolicy qui limite le trafic entrant vers les pods Keeper.
La valeur par défaut est « Disabled » lorsqu’elle n’est pas définie.
false Disabled

Apparaît dans :

KeeperSettings

KeeperSettings définit la configuration du serveur ClickHouse Keeper.

Champ Type Description Obligatoire Par défaut
logger LoggerConfig Configuration de la journalisation du serveur ClickHouse Keeper. false
tls ClusterTLSSpec Paramètres TLS permettant de configurer des endpoints sécurisés et la vérification des certificats pour le serveur ClickHouse Keeper. false
extraConfig RawExtension Configuration supplémentaire de ClickHouse Keeper qui sera fusionnée avec la configuration par défaut. false

Apparaît dans :

LoggerConfig

LoggerConfig définit la configuration de journalisation du serveur.

Champ Type Description Obligatoire Par défaut
logToFile booléen Si false, désactive toute journalisation dans un fichier. false true
jsonLogs booléen Si true, les logs sont au format JSON. false false
level chaîne Niveau de verbosité du logger du serveur. false trace
size chaîne Taille maximale du fichier de log. false 1000M
count entier Nombre maximal de fichiers de log à conserver. false 50

Apparaît dans :

NamedTemplateMeta

NamedTemplateMeta définit les paramètres de métadonnées pris en charge pour les objets de modèle qui nécessitent un nom.

Champ Type Description Obligatoire Par défaut
name string Le nom est l’identifiant de la ressource. true
labels object (keys:string, values:string) Les labels sont appliqués aux objets de modèle. false
annotations object (keys:string, values:string) Les annotations sont appliquées aux objets de modèle. false

Apparaît dans :

NetworkPolicyPolicy

NetworkPolicyPolicy détermine si l’opérateur gère une NetworkPolicy pour le cluster.

Champ Description
Enabled NetworkPolicyEnabled indique à l’opérateur de gérer une NetworkPolicy limitant le trafic entrant vers les pods du cluster.
Disabled NetworkPolicyDisabled désactive la NetworkPolicy gérée ; l’opérateur la supprime si elle existe.

Apparaît dans :

PDBPolicy

PDBPolicy détermine si des PodDisruptionBudgets sont créés.

Champ Description
Enabled PDBPolicyEnabled active la création de PodDisruptionBudgets par l’opérateur.
Disabled PDBPolicyDisabled désactive les PodDisruptionBudgets ; l’opérateur supprimera la ressource portant les étiquettes correspondantes.
Ignored PDBPolicyIgnored ignore les PodDisruptionBudgets ; l’opérateur ne créera ni ne supprimera aucun PDB, et les PDB existants resteront inchangés.

Apparaît dans :

PersistentVolumeClaimTemplate

PersistentVolumeClaimTemplate est un modèle nommé pour un PersistentVolumeClaim propre à chaque réplique.

Champ Type Description Obligatoire Par défaut
metadata NamedTemplateMeta Consultez la documentation de l'API Kubernetes pour les champs de metadata. true
spec PersistentVolumeClaimSpec Spec définit les caractéristiques souhaitées d'un volume demandé par l'auteur d'un pod.
Plus d'informations : https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
true

Apparaît dans :

PodDisruptionBudgetSpec

PodDisruptionBudgetSpec configure le PDB créé pour le cluster. Une seule des valeurs MinAvailable ou MaxUnavailable peut être définie. Si aucune des deux n’est définie, l’opérateur choisit une valeur par défaut sûre en fonction du nombre de répliques.

Champ Type Description Obligatoire Par défaut
policy PDBPolicy La politique détermine si l’opérateur crée des PodDisruptionBudgets.
Par défaut, sa valeur est "Enabled" si elle n’est pas définie. Définissez-la sur "Disabled" pour ne pas créer de PDB (par ex. pour les environnements de développement).
false Enabled
minAvailable IntOrString MinAvailable est le nombre minimal de pods qui doivent rester disponibles pendant une perturbation. false
maxUnavailable IntOrString MaxUnavailable est le nombre maximal de pods qui peuvent être indisponibles pendant une perturbation. false
unhealthyPodEvictionPolicy UnhealthyPodEvictionPolicyType UnhealthyPodEvictionPolicy définit les critères selon lesquels des pods non sains
doivent être pris en compte pour l’éviction.
Les valeurs valides sont "IfReady" et "AlwaysAllow".
false

Apparaît dans :

PodTemplateSpec

PodTemplateSpec décrit les surcharges de configuration appliquées aux pods du cluster.

Champ Type Description Obligatoire Valeur par défaut
terminationGracePeriodSeconds entier Durée facultative, en secondes, nécessaire au pod pour s'arrêter proprement. Elle peut être réduite dans une requête de suppression.
La valeur doit être un entier non négatif. La valeur zéro indique un arrêt immédiat via
le signal kill (sans possibilité d'arrêt propre).
Si cette valeur est nil, la période de grâce par défaut sera utilisée.
La période de grâce correspond à la durée, en secondes, entre l'envoi d'un signal de terminaison aux processus en cours d'exécution dans le pod
et le moment où ces processus sont arrêtés de force avec un signal kill.
Définissez une valeur supérieure au temps de nettoyage attendu pour votre processus.
La valeur par défaut est de 30 secondes.
false
topologySpreadConstraints TopologySpreadConstraint tableau TopologySpreadConstraints décrit comment un groupe de pods doit être réparti sur des domaines
de topologie. L’ordonnanceur planifiera les pods de manière à respecter les contraintes.
Tous les topologySpreadConstraints sont combinés par un ET logique.
Fusionné avec les valeurs par défaut de l’opérateur via topologyKey.
false
imagePullSecrets LocalObjectReference liste ImagePullSecrets est une liste facultative de références à des secrets dans le même espace de noms, à utiliser pour récupérer les images utilisées par ce PodSpec.
S'ils sont spécifiés, ces secrets seront transmis aux implémentations de récupération d'images afin qu'elles puissent les utiliser.
Plus d'informations : https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
Fusionné avec les valeurs par défaut de l'opérateur par nom.
false
nodeSelector objet (clés:string, valeurs:string) NodeSelector est un sélecteur qui doit être satisfait pour que le pod puisse être exécuté sur un nœud.
Sélecteur qui doit correspondre aux labels d’un nœud pour que le pod soit planifié sur ce nœud.
Plus d’informations : https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
false
affinity Affinité Le cas échéant, les contraintes de planification du pod.
S’ajoute aux valeurs par défaut de l’opérateur : les listes de termes de planification sont concaténées.
false
tolerations Toleration[] Tolérances du pod, si elles sont spécifiées. false
schedulerName string S'il est spécifié, le pod sera planifié par l'ordonnanceur indiqué.
S'il ne l'est pas, le pod sera planifié par l'ordonnanceur par défaut.
false
serviceAccountName string ServiceAccountName est le nom du ServiceAccount à utiliser pour exécuter ce pod.
Pour en savoir plus : https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
false
priorityClassName string PriorityClassName désigne le nom de la PriorityClass à utiliser pour le pod. false
runtimeClassName string RuntimeClassName désigne le nom de la RuntimeClass à utiliser pour le pod. false
volumes Volume liste Volumes définit la liste des volumes pouvant être montés par les conteneurs du pod.
Plus d’informations : https://kubernetes.io/docs/concepts/storage/volumes
Fusionné par nom avec les valeurs par défaut de l’opérateur ; un volume utilisateur remplace tout volume de l’opérateur portant le même nom.
false
securityContext PodSecurityContext SecurityContext contient les attributs de sécurité au niveau du pod ainsi que les paramètres communs des conteneurs.
Un SecurityContext non nul remplace intégralement les valeurs par défaut de l’opérateur ; l’utilisateur est responsable de la
struct entière. Lorsqu’il est nul, les valeurs par défaut de l’opérateur sont conservées.
false
topologyZoneKey string TopologyZoneKey est la clé des labels du nœud.
Les nœuds qui possèdent un label avec cette clé et des valeurs identiques sont considérés comme appartenant au même domaine de topologie,
par exemple la même zone de disponibilité pour "topology.kubernetes.io/zone" ou le même nœud pour "kubernetes.io/hostname".
Définissez-la pour répartir de manière équilibrée les pods contenant les mêmes données (répliques d’un shard pour ClickHouse, toutes les répliques pour Keeper)
entre les domaines : une contrainte TopologySpreadConstraint requise (maxSkew 1, DoNotSchedule), ainsi qu’une règle PodAntiAffinity privilégiée.
Les pods de shards différents peuvent partager un domaine, plusieurs pods par domaine sont donc autorisés.
Lorsqu’il y a moins de domaines que de répliques, plusieurs répliques partagent un domaine, tout en restant réparties de manière homogène.
Les pods ClickHouse privilégient également les domaines qui hébergent les pods Keeper qu’ils utilisent.
Il est recommandé de la définir sur "topology.kubernetes.io/zone".
false
nodeHostnameKey string NodeHostnameKey est la clé des labels du nœud.
Les nœuds qui portent un label avec cette clé et des valeurs identiques sont considérés comme étant sur le même nœud.
Définissez-la pour imposer une occupation exclusive des nœuds : une règle PodAntiAffinity obligatoire sur tous les pods du cluster,
avec au plus un pod par nœud, quel que soit le shard. Cela nécessite au moins autant de nœuds que de pods ;
avec moins de nœuds, les pods excédentaires restent à l’état Pending.
Pour répartir les répliques d’un même shard entre les nœuds tout en plaçant plusieurs pods par nœud,
définissez plutôt TopologyZoneKey sur "kubernetes.io/hostname".
Il est recommandé de la définir sur "kubernetes.io/hostname".
false
initContainers Container tableau InitContainers est la liste des conteneurs d’initialisation à exécuter avant le démarrage du conteneur serveur principal.
Fusionnée avec les valeurs par défaut de l’opérateur portant
le même nom.
false

Apparaît dans :

SecretKeySelector

SecretKeySelector sélectionne une clé dans un Secret.

Champ Type Description Obligatoire Défaut
name chaîne Le nom du secret dans l’espace de noms du cluster à partir duquel sélectionner. true
key chaîne La clé du secret à sélectionner. Doit être une clé de secret valide. true

Apparaît dans :

TemplateMeta

TemplateMeta définit les paramètres de métadonnées pris en charge pour les objets de modèle.

Field Type Description Required Default
labels object (keys:string, values:string) Labels appliqués aux objets de modèle. false
annotations object (keys:string, values:string) Annotations appliquées aux objets de modèle. false

Apparaît dans :

VersionProbeContainer

VersionProbeContainer définit des surcharges au niveau du conteneur pour la sonde de version. Les noms de champ et les balises JSON correspondent à corev1.Container afin que les fusions SMP s'effectuent par nom.

Champ Type Description Obligatoire Par défaut
name string Nom du conteneur. S'il est vide, l'opérateur le définit sur le nom du conteneur de la sonde de version. true version-probe
resources ResourceRequirements Ressources de calcul requises pour le conteneur de la sonde de version.
Fusionnées de manière récursive avec les valeurs par défaut de l'opérateur via SMP.
false
securityContext SecurityContext SecurityContext définit les options de sécurité du conteneur de la sonde de version.
Fusionné de manière récursive avec les valeurs par défaut de l'opérateur via SMP.
false

Apparaît dans :

VersionProbeJobSpec

VersionProbeJobSpec définit des surcharges au niveau du Job pour la sonde de version.

Champ Type Description Obligatoire Par défaut
ttlSecondsAfterFinished integer TTLSecondsAfterFinished limite la durée de vie d’un Job terminé. false
template VersionProbePodTemplate Le modèle décrit le pod qui sera créé pour le Job de sonde de version. false

Apparaît dans :

VersionProbePodSpec

VersionProbePodSpec définit des surcharges au niveau du pod pour la sonde de version. Les noms des champs et les balises JSON correspondent à corev1.PodSpec pour assurer la compatibilité avec les patchs de fusion stratégique.

Champ Type Description Requis Par défaut
nodeSelector objet (clés:string, valeurs:string) NodeSelector limite le pod de la sonde de version aux nœuds dont les labels correspondent. false
tolerations tableau de Toleration Tolérances pour le pod de la sonde de version. false
securityContext PodSecurityContext SecurityContext contient les attributs de sécurité au niveau du pod pour le pod de la sonde de version. false
containers tableau de VersionProbeContainer Surcharges des conteneurs pour le pod de la sonde de version.
Le champ name est facultatif — l'opérateur le renseigne avec le conteneur par défaut.
Il est possible de spécifier un conteneur supplémentaire avec un nom différent.
false

Apparaît dans :

VersionProbePodTemplate

VersionProbePodTemplate décrit les surcharges du pod de la sonde de version.

Champ Type Description Obligatoire Par défaut
metadata TemplateMeta Consultez la documentation de l’API Kubernetes pour les champs de metadata. false
spec VersionProbePodSpec Spécification du comportement souhaité du pod de la sonde de version. false

Apparaît dans :

VersionProbeTemplate

VersionProbeTemplate définit des surcharges pour le Job de détection de version. La structure reproduit batchv1.JobTemplateSpec et n’expose que les champs pris en charge.

Champ Type Description Obligatoire Par défaut
metadata TemplateMeta Consultez la documentation de l’API Kubernetes pour les champs de metadata. false
spec VersionProbeJobSpec Spécification du comportement attendu du Job de détection de version. false

Apparaît dans :

Navigation