В этом документе содержится подробный справочник по 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 |
Встречается в: