Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Справочник по API ClickHouse Operator

В этом документе содержится подробный справочник по API пользовательских ресурсов ClickHouse Operator.

AdditionalPort

AdditionalPort задаёт один дополнительный TCP-порт, который будет открыт на поде ClickHouse и в публичном headless Service.

Поле Тип Описание Обязательно По умолчанию
name string Имя однозначно идентифицирует порт в списке. Используется и как имя порта контейнера, и как имя порта сервиса.
Должно быть значением DNS_LABEL.
true
port integer Порт — это номер TCP-порта, который будет открыт. true

Встречается в:

CABundleSelector

CABundleSelector выбирает ключ, содержащий набор CA, из объекта Secret в пространстве имен кластера.

Поле Тип Описание Обязательно По умолчанию
name string Имя Secret в пространстве имен кластера, из которого выбирается значение. true
key string Ключ Secret, который нужно выбрать. Должен быть допустимым ключом Secret. false ca.crt

Встречается в:

ClickHouseCluster

ClickHouseCluster — это схема для API clickhouseclusters.

Версия API и Kind

apiVersion: clickhouse.com/v1alpha1
kind: ClickHouseCluster
Поле Тип Описание Обязательное По умолчанию
spec ClickHouseClusterSpec true
status ClickHouseClusterStatus true

Входит в:

ClickHouseClusterList

ClickHouseClusterList содержит список объектов ClickHouseCluster.

Версия API и Kind

apiVersion: clickhouse.com/v1alpha1
kind: ClickHouseClusterList
Поле Тип Описание Обязательно По умолчанию
items массив ClickHouseCluster true

ClickHouseClusterSpec

ClickHouseClusterSpec определяет желаемое состояние ClickHouseCluster.

Поле Тип Описание Обязательное По умолчанию
replicas integer Количество реплик в одном шарде. false 3
shards integer Количество шардов в кластере. false 1
keeperClusterRef KeeperClusterReference Ссылка на KeeperCluster, используемый для координации ClickHouse.
Если пространство имён не указано, используется пространство имён ClickHouseCluster.
true
podTemplate PodTemplateSpec Параметры, передаваемые в спецификацию пода ClickHouse. false
containerTemplate ContainerTemplateSpec Параметры, передаваемые в спецификацию контейнера ClickHouse. false
dataVolumeClaimSpec PersistentVolumeClaimSpec Спецификация постоянного хранилища для данных ClickHouse. false
additionalVolumeClaimTemplates PersistentVolumeClaimTemplate array Дополнительные шаблоны PVC для каждого пода для хранилища JBOD / с несколькими дисками.
Каждая запись распространяется в volumeClaimTemplate StatefulSet, монтируется по пути /var/lib/clickhouse/disks/<name> и
добавляется в сгенерированную политику хранилища JBOD.
Набор дисков фиксируется при создании.
false
labels object (keys:string, values:string) Дополнительные метки, добавляемые к ресурсам. false
annotations object (keys:string, values:string) Дополнительные annotations, добавляемые к ресурсам. false
podDisruptionBudget PodDisruptionBudgetSpec PodDisruptionBudget настраивает PDB, создаваемый для каждого шарда.
Если не задано, оператор по умолчанию использует maxUnavailable=1 для шардов с одной репликой
и minAvailable=1 для шардов с несколькими репликами.
false
networkPolicy ClickHouseNetworkPolicySpec NetworkPolicy настраивает NetworkPolicy, управляемую для кластера. false
settings ClickHouseSettings Параметры конфигурации сервера ClickHouse. false { }
clusterDomain string ClusterDomain — суффикс домена кластера Kubernetes, используемый для DNS-разрешения. false cluster.local
upgradeChannel string канал релизов указывает канал релизов для проверки обновлений мажорной версии.
Если не задано, будут предлагаться только минорные обновления. Допустимые значения: stable, lts или конкретная версия major.minor (например, 25.8).
false
versionProbeTemplate VersionProbeTemplate VersionProbeTemplate — переопределения для задачи определения версии. false
externalSecret ExternalSecret ExternalSecret — необязательная ссылка на управляемый извне Secret, содержащий секреты кластера.
Secret должен находиться в том же пространстве имён, что и кластер.
false
additionalPorts AdditionalPort array AdditionalPorts объявляет дополнительные TCP-порты для открытия на поде ClickHouse и публичном headless Service.
Оператор только добавляет порты в ресурсы Kubernetes, но не настраивает сервер ClickHouse для прослушивания на них.
false

Встречается в:

ClickHouseClusterStatus

ClickHouseClusterStatus определяет наблюдаемое состояние ClickHouseCluster.

Поле Тип Описание Обязательно По умолчанию
conditions Condition массив false
readyReplicas integer ReadyReplicas — общее количество реплик, готовых обслуживать запросы. false
configurationRevision string ConfigurationRevision указывает целевую ревизию конфигурации для каждой реплики. true
statefulSetRevision string StatefulSetRevision указывает целевую ревизию StatefulSet для каждой реплики. true
currentRevision string CurrentRevision указывает последнюю применённую ревизию спецификации ClickHouseCluster. true
updateRevision string UpdateRevision указывает последнюю запрошенную ревизию спецификации ClickHouseCluster. true
observedGeneration integer ObservedGeneration указывает последнее поколение, зафиксированное контроллером. true
version string Version указывает версию, указанную в образе контейнера. false
versionProbeRevision string VersionProbeRevision — хэш образа последней успешной проверки версии.
Когда он совпадает с текущим хэшем образа, кэшированная Version используется напрямую.
false

Встречается в:

ClickHouseNetworkPolicySpec

ClickHouseNetworkPolicySpec настраивает NetworkPolicy, которой управляет оператор для кластера ClickHouse. Управляемая политика распространяется на внутренний трафик кластера:

  • Связь между репликами
  • Доступ оператора к кластеру Для любого другого входящего трафика, включая клиентские подключения и сбор метрик, требуются заданные пользователем NetworkPolicy.
Поле Тип Описание Обязательно По умолчанию
policy NetworkPolicyPolicy Политика определяет, управляет ли оператор NetworkPolicy, ограничивающей входящий трафик к подам кластера.
Если не задана, по умолчанию используется «Disabled».
false Disabled

Используется в:

ClickHouseSettings

ClickHouseSettings определяет параметры настройки сервера ClickHouse.

Поле Тип Описание Обязательно По умолчанию
defaultUserPassword DefaultPasswordSelector Указывает источник и тип пароля для пользователя default в ClickHouse. false
logger LoggerConfig Конфигурация логирования сервера ClickHouse. false
tls ClusterTLSSpec Настройки TLS, позволяющие настроить защищенные конечные точки и проверку сертификатов для сервера ClickHouse. false
encryption EncryptionSettings Шифрование: если задано, включает шифрование данных таблиц при хранении с помощью выделенной политики хранения.
Включается для каждой таблицы с помощью SETTINGS storage_policy = '<policyName>'.
false
enableDatabaseSync boolean Включает синхронизацию баз данных ClickHouse с вновь созданными репликами и очистку устаревших реплик
после уменьшения числа реплик.
Поддерживаются только базы данных Replicated и базы данных интеграций.
false true
extraConfig RawExtension Дополнительная конфигурация ClickHouse, которая будет объединена с конфигурацией по умолчанию. false
extraUsersConfig RawExtension Дополнительная конфигурация пользователей ClickHouse, которая будет объединена с конфигурацией по умолчанию. false

Используется в:

ClusterTLSSpec

ClusterTLSSpec определяет настройки TLS для кластера.

Поле Тип Описание Обязательно По умолчанию
enabled boolean Enabled указывает, включен ли TLS, и определяет, нужно ли открывать защищённые порты. false false
required boolean Required указывает, должен ли TLS быть обязательным для всех соединений. Отключает незащищённые порты. false false
serverCertSecret LocalObjectReference ServerCertSecret — ссылка на TLS Secret, содержащий сертификат сервера.
Ожидается, что Secret имеет ту же структуру, что и сертификаты, сгенерированные cert-manager,
при этом сертификат и приватный ключ хранятся под ключами "tls.crt" и "tls.key" соответственно.
false
caBundle CABundleSelector CABundle — ссылка на ключ Secret, содержащий набор CA, используемый для проверки сертификатов peer.
Если значение пустое, используется системный набор доверенных сертификатов CA.
Если ключ не указан, по умолчанию используется "ca.crt".
false

Используется в:

ConfigMapKeySelector

ConfigMapKeySelector выбирает ключ в ConfigMap.

Поле Тип Описание Обязательно По умолчанию
name string Имя ConfigMap в пространстве имен кластера, из которой выполняется выбор. true
key string Ключ ConfigMap, который нужно выбрать. Должен быть допустимым ключом. true

Встречается в:

ContainerImage

ContainerImage задаёт образ контейнера с указанием repository, tag или hash.

Поле Тип Описание Обязательно По умолчанию
repository string Имя реестра образа контейнера
Пример: docker.io/clickhouse/clickhouse
false
tag string Тег образа контейнера; взаимоисключается с 'hash'.
Пример: 25.3
false
hash string Хэш образа контейнера; взаимоисключается с 'tag'. false

Встречается в:

ContainerTemplateSpec

ContainerTemplateSpec описывает переопределения конфигурации контейнеров кластера.

Поле Тип Описание Обязательно По умолчанию
image ContainerImage Image — образ контейнера, который будет развернут. true
imagePullPolicy PullPolicy ImagePullPolicy для образа; по умолчанию используется IfNotPresent. false
resources ResourceRequirements Resources — требования к ресурсам для контейнера сервера.
Применяются как единое целое: значения оператора по умолчанию используются только тогда, когда все поля ресурсов пусты.
false
volumeMounts VolumeMount array VolumeMounts — список монтирований томов для контейнера.
Конкатенируется с монтированиями, сгенерированными оператором. Записи с тем же mountPath, что и у монтирования
оператора, объединяются в projected volume.
false
env EnvVar array Env — список переменных окружения, задаваемых в контейнере.
Объединяется со значениями оператора по умолчанию по имени.
false
securityContext SecurityContext SecurityContext определяет параметры безопасности, с которыми должен запускаться контейнер.
Ненулевой SecurityContext полностью заменяет значения оператора по умолчанию; пользователь управляет
всей структурой целиком. Если значение nil, сохраняются значения оператора по умолчанию.
Подробнее: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
false
livenessProbe Probe LivenessProbe переопределяет стандартную проверку работоспособности оператора. false
readinessProbe Probe ReadinessProbe переопределяет стандартную проверку готовности оператора. false

Встречается в:

DefaultPasswordSelector

DefaultPasswordSelector задает источник пароля пользователя по умолчанию.

Поле Тип Описание Обязательно По умолчанию
passwordType string Тип заданного пароля. Возможные значения см. в документации: https://clickhouse.com/docs/operations/settings/settings-users#user-namepassword true password
secret SecretKeySelector Выбор значения пароля из ключа Secret false
configMap ConfigMapKeySelector Выбор значения пароля из ключа ConfigMap false

Используется в:

EncryptionSettings

EncryptionSettings включает шифрование данных таблиц при хранении. Если этот параметр задан, оператор создает зашифрованную политику хранения ClickHouse для каждого диска с данными; таблицы включают ее с помощью SETTINGS storage_policy. После включения шифрование отключить нельзя.

Поле Тип Описание Обязательно По умолчанию
policyName string PolicyName — имя созданной зашифрованной политики хранения. false encrypted

Встречается в:

ExternalSecret

ExternalSecret — это ссылка на Secret в том же пространстве имен.

Поле Тип Описание Обязательно По умолчанию
name string Имя Secret. true
policy ExternalSecretPolicy Политика определяет, как оператор обращается с содержимым секрета.
Observe (по умолчанию): блокирует реконсиляцию, если отсутствует любой обязательный ключ.
Manage: добавляет отсутствующие обязательные ключи в существующий секрет.
false Observe

Встречается в:

ExternalSecretPolicy

ExternalSecretPolicy определяет, как оператор обрабатывает содержимое внешнего Secret.

Поле Описание
Observe ExternalSecretPolicyObserve — политика по умолчанию: оператор считывает и проверяет Secret;
реконсиляция блокируется, если отсутствует какой-либо обязательный ключ.
Отсутствующие обязательные ключи и ожидаемые для них форматы указываются через условие состояния ExternalSecretValid в процессе работы.
Manage ExternalSecretPolicyManage — политика, при которой оператор добавляет недостающие обязательные ключи, генерируя
для них значения. Secret обновляется, но оператор никогда не становится его владельцем и не удаляет его.

Встречается в:

KeeperCluster

KeeperCluster — это схема для API keeperclusters.

Версия API и kind

apiVersion: clickhouse.com/v1alpha1
kind: KeeperCluster
Поле Тип Описание Обязательно По умолчанию
spec KeeperClusterSpec true
status KeeperClusterStatus true

Встречается в:

KeeperClusterList

KeeperClusterList содержит список KeeperCluster.

Версия API и Kind

apiVersion: clickhouse.com/v1alpha1
kind: KeeperClusterList
Поле Тип Описание Обязательно По умолчанию
items массив KeeperCluster true

KeeperClusterReference

KeeperClusterReference указывает на KeeperCluster, используемый в ClickHouseCluster.

Поле Тип Описание Обязательно По умолчанию
name string Имя ресурса KeeperCluster. true
namespace string Пространство имен ресурса KeeperCluster.
Если не указано, используется пространство имен ClickHouseCluster.
false

Встречается в:

KeeperClusterSpec

KeeperClusterSpec определяет желаемое состояние KeeperCluster.

Поле Тип Описание Обязательное По умолчанию
replicas integer Количество реплик в кластере false 3
podTemplate PodTemplateSpec Параметры, передаваемые в спецификацию пода Keeper. false
containerTemplate ContainerTemplateSpec Параметры, передаваемые в спецификацию контейнера Keeper. false
dataVolumeClaimSpec PersistentVolumeClaimSpec Спецификация постоянного хранилища для данных ClickHouse Keeper. false
labels object (keys:string, values:string) Дополнительные метки, добавляемые к ресурсам. false
annotations object (keys:string, values:string) Дополнительные annotations, добавляемые к ресурсам. false
podDisruptionBudget PodDisruptionBudgetSpec PodDisruptionBudget настраивает PDB, создаваемый для кластера Keeper.
Если не задан, оператор по умолчанию использует maxUnavailable=replicas/2
(сохраняя кворум для кластера 2F+1); для кластеров с одной репликой используется maxUnavailable=1.
false
networkPolicy KeeperNetworkPolicySpec NetworkPolicy настраивает NetworkPolicy, управляемую для кластера Keeper. false
settings KeeperSettings Параметры конфигурации для сервера ClickHouse Keeper. false
clusterDomain string ClusterDomain — это суффикс домена кластера Kubernetes, используемый для DNS-разрешения. false cluster.local
upgradeChannel string канал релизов задаёт канал релизов для проверки обновлений мажорной версии.
Если значение пустое, будут предлагаться только минорные обновления. Допустимые значения: stable, lts или конкретная версия major.minor (например, 25.8).
false
versionProbeTemplate VersionProbeTemplate Переопределения VersionProbeTemplate для задачи определения версии.
Устарело: задачи проверки версии Keeper не используются; это поле сохранено для обратной совместимости.
false

Встречается в:

KeeperClusterStatus

KeeperClusterStatus определяет наблюдаемое состояние KeeperCluster.

Поле Тип Описание Обязательное По умолчанию
conditions Condition массив false
readyReplicas integer ReadyReplicas — общее число реплик, готовых обслуживать запросы. false
configurationRevision string ConfigurationRevision указывает целевую ревизию конфигурации для каждой реплики. true
statefulSetRevision string StatefulSetRevision указывает целевую ревизию StatefulSet для каждой реплики. true
currentRevision string CurrentRevision указывает последнюю применённую ревизию спецификации KeeperCluster. true
updateRevision string UpdateRevision указывает последнюю запрошенную ревизию спецификации KeeperCluster. true
observedGeneration integer ObservedGeneration указывает последнее поколение, зафиксированное контроллером. true
version string Version указывает версию, о которой сообщает Keeper server. false
versionProbeRevision string VersionProbeRevision — хэш образа последней успешной проверки версии.
Устарело: задачи проверки версии Keeper не используются; это поле сохранено для обратной совместимости.
false

Встречается в:

KeeperNetworkPolicySpec

KeeperNetworkPolicySpec настраивает NetworkPolicy, управляемую для кластера Keeper. Управляемая политика распространяется на внутрикластерный трафик:

  • Связь между репликами
  • Доступ оператора к кластеру
  • Доступ из кластеров ClickHouse, ссылающихся на этот кластер Keeper Для любого другого входящего трафика, включая сбор метрик, требуются определяемые пользователем NetworkPolicy.
Поле Тип Описание Обязательно По умолчанию
policy NetworkPolicyPolicy Политика определяет, управляет ли оператор NetworkPolicy, ограничивающей входящий трафик к подам Keeper.
Если параметр не задан, по умолчанию используется «Disabled».
false Disabled

Встречается в:

KeeperSettings

KeeperSettings определяет конфигурацию сервера ClickHouse Keeper.

Поле Тип Описание Обязательно По умолчанию
logger LoggerConfig Конфигурация логирования сервера ClickHouse Keeper. false
tls ClusterTLSSpec Настройки TLS, позволяющие настроить защищённые конечные точки и проверку сертификатов для сервера ClickHouse Keeper. false
extraConfig RawExtension Дополнительная конфигурация ClickHouse Keeper, которая будет объединена с конфигурацией по умолчанию. false

Встречается в:

LoggerConfig

LoggerConfig задаёт конфигурацию логирования сервера.

Поле Тип Описание Обязательно По умолчанию
logToFile boolean Если false, отключает запись журналов в файл. false true
jsonLogs boolean Если true, журналы записываются в формате JSON. false false
level string Уровень детализации логгера сервера. false trace
size string Максимальный размер файла журнала. false 1000M
count integer Максимальное количество сохраняемых файлов журнала. false 50

Встречается в:

NamedTemplateMeta

NamedTemplateMeta определяет поддерживаемые параметры метаданных для объектов шаблона, которым требуется имя.

Поле Тип Описание Обязательно По умолчанию
name string Имя — это идентификатор ресурса. true
labels object (keys:string, values:string) Метки, применяемые к объектам шаблона. false
annotations object (keys:string, values:string) annotations, применяемые к объектам шаблона. false

Используется в:

NetworkPolicyPolicy

NetworkPolicyPolicy определяет, управляет ли оператор ресурсом NetworkPolicy для кластера.

Поле Описание
Enabled NetworkPolicyEnabled указывает оператору управлять ресурсом NetworkPolicy, ограничивающим входящий трафик к подам кластера.
Disabled NetworkPolicyDisabled отключает управляемый NetworkPolicy; оператор удаляет его при наличии.

Используется в:

PDBPolicy

PDBPolicy определяет, будут ли создаваться объекты PodDisruptionBudget.

Поле Описание
Enabled PDBPolicyEnabled включает создание объектов PodDisruptionBudget оператором.
Disabled PDBPolicyDisabled отключает объекты PodDisruptionBudget; оператор удалит ресурс с соответствующими метками.
Ignored PDBPolicyIgnored игнорирует объекты PodDisruptionBudget; оператор не будет создавать или удалять PDB, а существующие PDB останутся без изменений.

Встречается в:

PersistentVolumeClaimTemplate

PersistentVolumeClaimTemplate — это именованный шаблон для PersistentVolumeClaim для каждой реплики.

Поле Тип Описание Обязательно По умолчанию
metadata NamedTemplateMeta См. документацию Kubernetes API по полям metadata. true
spec PersistentVolumeClaimSpec spec определяет требуемые характеристики тома, запрашиваемого автором пода.
Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
true

Встречается в:

PodDisruptionBudgetSpec

PodDisruptionBudgetSpec настраивает PDB, создаваемый для кластера. Можно задать только один из параметров: MinAvailable или MaxUnavailable. Если не задан ни один из них, оператор выбирает безопасное значение по умолчанию на основе количества реплик.

Поле Тип Описание Обязательно По умолчанию
policy PDBPolicy Политика определяет, будет ли оператор создавать PodDisruptionBudget.
Если значение не задано, по умолчанию используется "Enabled". Установите "Disabled", чтобы не создавать PDB (например, в средах разработки).
false Enabled
minAvailable IntOrString MinAvailable — минимальное количество подов, которые должны оставаться доступными при нарушении работы. false
maxUnavailable IntOrString MaxUnavailable — максимальное количество подов, которые могут быть недоступны при нарушении работы. false
unhealthyPodEvictionPolicy UnhealthyPodEvictionPolicyType UnhealthyPodEvictionPolicy определяет критерии, по которым неработоспособные поды
следует рассматривать для выселения.
Допустимые значения: "IfReady" и "AlwaysAllow".
false

Встречается в:

PodTemplateSpec

PodTemplateSpec описывает переопределения конфигурации подов кластера.

Поле Тип Описание Обязательно По умолчанию
terminationGracePeriodSeconds целое число Необязательная длительность в секундах, необходимая поду для корректного завершения работы. Может быть уменьшена в запросе на удаление.
Значение должно быть неотрицательным целым числом. Значение 0 означает немедленную остановку с помощью
сигнала kill (без возможности штатного завершения работы).
Если это значение равно nil, вместо него будет использоваться период ожидания по умолчанию.
Период ожидания — это длительность в секундах между отправкой процессам, выполняющимся в поде,
сигнала завершения и моментом, когда процессы будут принудительно остановлены сигналом kill.
Установите это значение больше ожидаемого времени очистки для процесса.
По умолчанию — 30 секунд.
false
topologySpreadConstraints TopologySpreadConstraint массив TopologySpreadConstraints описывает, как группа подов должна быть распределена между доменами
топологии. Планировщик будет размещать поды в соответствии с этими ограничениями.
Все topologySpreadConstraints объединяются логическим И.
Объединяется со значениями по умолчанию оператора по topologyKey.
false
imagePullSecrets LocalObjectReference массив ImagePullSecrets — это необязательный список ссылок на секреты в том же пространстве имен, используемый для загрузки любых образов, применяемых в этом PodSpec.
Если указано, эти секреты будут переданы отдельным реализациям загрузки для использования.
Подробнее: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
Объединяется со значениями оператора по умолчанию по имени.
false
nodeSelector объект (ключи:string, значения:string) NodeSelector — это селектор, условия которого должны выполняться, чтобы под можно было разместить на узле.
Селектор, который должен соответствовать меткам узла, чтобы под был назначен на этот узел.
Подробнее: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
false
affinity Аффинность Если указано, задаёт ограничения на планирование пода.
Добавляется к значениям по умолчанию оператора: списки условий планирования объединяются.
false
tolerations Toleration массив Если указано, задает допуски пода. false
schedulerName string Если указано, для пода будет использоваться указанный планировщик.
Если не указано, для пода будет использоваться планировщик по умолчанию.
false
serviceAccountName string ServiceAccountName — это имя ServiceAccount, используемое для запуска этого пода.
Подробнее: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
false
priorityClassName string PriorityClassName — имя PriorityClass, используемого для пода. false
runtimeClassName string RuntimeClassName — имя RuntimeClass, используемого для пода. false
volumes массив Volume Volumes определяет список томов, которые могут быть смонтированы в контейнерах, входящих в под.
Подробнее: https://kubernetes.io/docs/concepts/storage/volumes
Объединяется с томами оператора по имени; пользовательский том заменяет любой том оператора с тем же именем.
false
securityContext PodSecurityContext SecurityContext содержит атрибуты безопасности на уровне пода и общие настройки контейнеров.
Если SecurityContext не равен nil, он полностью заменяет значения по умолчанию, заданные оператором; пользователь отвечает за всю
структуру целиком. Если значение равно nil, сохраняются значения по умолчанию оператора.
false
topologyZoneKey string TopologyZoneKey — это ключ меток узлов.
Узлы с меткой с этим ключом и одинаковыми значениями считаются находящимися в одном и том же топологическом домене,
например, в одной и той же зоне доступности для "topology.kubernetes.io/zone" или на одном и том же узле для "kubernetes.io/hostname".
Укажите его, чтобы равномерно распределить поды, содержащие одни и те же данные (реплики одного сегмента для ClickHouse, все реплики для Keeper),
по доменам: обязательное ограничение TopologySpreadConstraint (maxSkew 1, DoNotSchedule) и предпочтительное правило PodAntiAffinity.
Поды разных сегментов могут находиться в одном домене, поэтому допускается несколько подов в одном домене.
Если доменов меньше, чем реплик, несколько реплик будут находиться в одном домене, но распределение всё равно останется равномерным.
Поды ClickHouse также предпочитают домены, в которых размещены используемые ими поды Keeper.
Рекомендуется установить значение "topology.kubernetes.io/zone".
false
nodeHostnameKey string NodeHostnameKey — это ключ меток узла.
Узлы с меткой с этим ключом и одинаковыми значениями считаются находящимися на одном и том же узле.
Задайте его, чтобы обеспечить эксклюзивное размещение на узлах: обязательное правило PodAntiAffinity для всех подов кластера,
не более одного пода на узел независимо от сегмента. Для этого требуется как минимум столько же узлов, сколько подов;
если узлов меньше, лишние поды останутся в состоянии Pending.
Чтобы распределять реплики одного и того же сегмента по узлам, при этом размещая несколько подов на одном узле,
вместо этого задайте TopologyZoneKey значение "kubernetes.io/hostname".
Рекомендуется установить значение "kubernetes.io/hostname".
false
initContainers массив Container InitContainers — это список init-контейнеров, запускаемых до запуска основного контейнера сервера.
Объединяется со значениями по умолчанию оператора
для контейнеров с тем же именем.
false

Встречается в:

SecretKeySelector

SecretKeySelector выбирает ключ объекта Secret.

Поле Тип Описание Обязательно По умолчанию
name string Имя Secret в пространстве имен кластера, из которого выбирается значение. true
key string Ключ Secret, который нужно выбрать. Должен быть допустимым ключом Secret. true

Встречается в:

TemplateMeta

TemplateMeta определяет поддерживаемые параметры метаданных для объектов шаблона.

Поле Тип Описание Обязательно По умолчанию
labels object (keys:string, values:string) Метки, применяемые к объектам шаблона. false
annotations object (keys:string, values:string) annotations, применяемые к объектам шаблона. false

Используется в:

VersionProbeContainer

VersionProbeContainer задаёт переопределения для проверки версии на уровне контейнера. Имена полей и JSON-теги соответствуют corev1.Container, чтобы SMP выполнял слияние по имени.

Поле Тип Описание Обязательное По умолчанию
name string Имя контейнера. Если поле пустое, оператор задаёт имя контейнера проверки версии. true version-probe
resources ResourceRequirements Ресурсы, необходимые контейнеру проверки версии для вычислений.
Объединяются со значениями оператора по умолчанию через глубокое слияние SMP.
false
securityContext SecurityContext SecurityContext определяет параметры безопасности для контейнера проверки версии.
Объединяется со значениями оператора по умолчанию через глубокое слияние SMP.
false

Встречается в:

VersionProbeJobSpec

VersionProbeJobSpec задаёт переопределения на уровне задачи для проверки версии.

Поле Тип Описание Обязательно По умолчанию
ttlSecondsAfterFinished integer TTLSecondsAfterFinished ограничивает время существования завершённой задачи. false
template VersionProbePodTemplate Шаблон описывает под, который будет создан для задачи проверки версии. false

Встречается в:

VersionProbePodSpec

VersionProbePodSpec задаёт переопределения на уровне пода для проверки версии. Имена полей и JSON-теги соответствуют corev1.PodSpec для совместимости со strategic merge patch.

Поле Тип Описание Обязательное По умолчанию
nodeSelector object (keys:string, values:string) NodeSelector ограничивает запуск пода проверки версии узлами с соответствующими метками. false
tolerations Toleration array Tolerations для пода проверки версии. false
securityContext PodSecurityContext SecurityContext содержит атрибуты безопасности на уровне пода для пода проверки версии. false
containers VersionProbeContainer array Переопределения контейнеров для пода проверки версии.
Поле name необязательно — оператор заполняет его именем контейнера по умолчанию.
Также можно указать дополнительный контейнер с другим именем.
false

Используется в:

VersionProbePodTemplate

VersionProbePodTemplate описывает переопределения для пода проверки версии.

Поле Тип Описание Обязательно По умолчанию
metadata TemplateMeta Описание полей metadata см. в документации Kubernetes API. false
spec VersionProbePodSpec Спецификация требуемого поведения пода проверки версии. false

Встречается в:

VersionProbeTemplate

VersionProbeTemplate задает переопределения для задачи определения версии. Структура повторяет batchv1.JobTemplateSpec и содержит только поддерживаемые поля.

Поле Тип Описание Обязательное По умолчанию
metadata TemplateMeta Описание полей metadata см. в документации Kubernetes API. false
spec VersionProbeJobSpec Спецификация требуемого поведения задачи проверки версии. false

Встречается в:

Navigation