ClickHouseCluster
clickhouseclusters.
Версия API и Kind
| Поле | Тип | Описание | Обязательное | По умолчанию |
|---|---|---|---|---|
spec | ClickHouseClusterSpec | true | ||
status | ClickHouseClusterStatus | true |
ClickHouseClusterList
Версия API и Kind
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
items | массив ClickHouseCluster | true |
ClickHouseClusterSpec
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
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 | |
labels | object (keys:string, values:string) | Дополнительные метки, добавляемые к ресурсам. | false | |
annotations | object (keys:string, values:string) | Дополнительные аннотации, добавляемые к ресурсам. | false | |
podDisruptionBudget | PodDisruptionBudgetSpec | PodDisruptionBudget настраивает PDB, создаваемый для каждого сегмента. Если значение не задано, оператор по умолчанию использует maxUnavailable=1 для сегментов с одной репликой и minAvailable=1 для сегментов с несколькими репликами. | false | |
settings | ClickHouseSettings | Параметры конфигурации для сервера ClickHouse. | false | |
clusterDomain | string | ClusterDomain — это суффикс домена кластера Kubernetes, используемый для DNS-разрешения. | false | cluster.local |
upgradeChannel | string | UpgradeChannel задает канал выпуска для проверок обновлений мажорных версий. Если значение пустое, будут предлагаться только минорные обновления. Допустимые значения: stable, lts или конкретная версия major.minor (например, 25.8). | false | |
versionProbeTemplate | VersionProbeTemplate | Переопределения VersionProbeTemplate для задачи определения версии. | false | |
externalSecret | ExternalSecret | ExternalSecret — это необязательная ссылка на Secret под внешним управлением, содержащий секреты кластера. Этот Secret должен находиться в том же пространстве имен, что и кластер. | false |
ClickHouseClusterStatus
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
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 |
ClickHouseSettings
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
defaultUserPassword | DefaultPasswordSelector | Указывает источник и тип пароля для пользователя default в ClickHouse. | false | |
logger | LoggerConfig | Конфигурация логирования сервера ClickHouse. | false | |
tls | ClusterTLSSpec | Настройки TLS, позволяющие настроить защищенные конечные точки и проверку сертификатов для сервера ClickHouse. | false | |
enableDatabaseSync | boolean | Включает синхронизацию баз данных ClickHouse с вновь созданными репликами и очистку устаревших реплик после уменьшения числа реплик. Поддерживаются только базы данных Replicated и базы данных интеграций. | false | true |
extraConfig | RawExtension | Дополнительная конфигурация ClickHouse, которая будет объединена с конфигурацией по умолчанию. | false | |
extraUsersConfig | RawExtension | Дополнительная конфигурация пользователей ClickHouse, которая будет объединена с конфигурацией по умолчанию. | false |
ClusterTLSSpec
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
enabled | boolean | Enabled указывает, включен ли TLS, и определяет, нужно ли открывать защищённые порты. | false | false |
required | boolean | Required указывает, должен ли TLS быть обязательным для всех соединений. Отключает незащищённые порты. | false | false |
serverCertSecret | LocalObjectReference | ServerCertSecretRef — ссылка на TLS Secret, содержащий сертификат сервера. Ожидается, что Secret имеет ту же структуру, что и сертификаты, сгенерированные cert-manager: сертификат и приватный ключ должны храниться под ключами “tls.crt” и “tls.key” соответственно. | false | |
caBundle | SecretKeySelector | CABundle — ссылка на TLS Secret, содержащий набор сертификатов CA. Если значение пустое и указан ServerCertSecret, будет использоваться набор CA из сертификата. В противном случае будет использоваться системный набор доверенных сертификатов CA. Если ключ не указан, по умолчанию используется “ca.crt”. | false |
ConfigMapKeySelector
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
name | string | Имя ConfigMap в пространстве имен кластера, из которой выполняется выбор. | true | |
key | string | Ключ ConfigMap, который нужно выбрать. Должен быть допустимым ключом. | true |
ContainerImage
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
repository | string | Имя реестра образа контейнера Пример: docker.io/clickhouse/clickhouse | false | |
tag | string | Тег образа контейнера; взаимоисключается с ‘hash’. Пример: 25.3 | false | |
hash | string | Хэш образа контейнера; взаимоисключается с ‘tag’. | false |
ContainerTemplateSpec
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
image | ContainerImage | Image — образ контейнера, который будет развернут. | true | |
imagePullPolicy | PullPolicy | ImagePullPolicy для образа; по умолчанию используется IfNotPresent. | false | |
resources | ResourceRequirements | Resources — требования к ресурсам для контейнера сервера.Рекурсивно объединяются со значениями оператора по умолчанию через SMP. Отдельные limits и requests переопределяют только совпадающиеключи; для незаданных полей сохраняются значения по умолчанию оператора. | 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
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
passwordType | string | Тип заданного пароля. Возможные значения см. в документации: https://clickhouse.com/docs/operations/settings/settings-users#user-namepassword | true | password |
secret | SecretKeySelector | Выбор значения пароля из ключа Secret | false | |
configMap | ConfigMapKeySelector | Выбор значения пароля из ключа ConfigMap | false |
ExternalSecret
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
name | string | Имя Secret. | true | |
policy | ExternalSecretPolicy | Политика определяет, как оператор обращается с содержимым секрета. Observe (по умолчанию): блокирует реконсиляцию, если отсутствует любой обязательный ключ. Manage: добавляет отсутствующие обязательные ключи в существующий секрет. | false | Observe |
ExternalSecretPolicy
| Поле | Описание |
|---|---|
Observe | ExternalSecretPolicyObserve — политика по умолчанию: оператор считывает и проверяет Secret; реконсиляция блокируется, если отсутствует какой-либо обязательный ключ. Отсутствующие обязательные ключи и ожидаемые для них форматы указываются через условие состояния ExternalSecretValid в процессе работы. |
Manage | ExternalSecretPolicyManage — политика, при которой оператор добавляет недостающие обязательные ключи, генерируя для них значения. Secret обновляется, но оператор никогда не становится его владельцем и не удаляет его. |
KeeperCluster
keeperclusters.
Версия API и kind
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
spec | KeeperClusterSpec | true | ||
status | KeeperClusterStatus | true |
KeeperClusterList
Версия API и Kind
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
items | массив KeeperCluster | true |
KeeperClusterReference
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
name | string | Имя ресурса KeeperCluster. | true | |
namespace | string | Пространство имен ресурса KeeperCluster. Если не указано, используется пространство имен ClickHouseCluster. | false |
KeeperClusterSpec
| Поле | Тип | Описание | Обязательное | По умолчанию |
|---|---|---|---|---|
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) | Дополнительные аннотации, добавляемые к ресурсам. | false | |
podDisruptionBudget | PodDisruptionBudgetSpec | PodDisruptionBudget настраивает PDB, создаваемый для кластера Keeper. Если не задан, оператор по умолчанию использует maxUnavailable=replicas/2 (сохраняя кворум для кластера 2F+1). | false | |
settings | KeeperSettings | Параметры конфигурации для сервера ClickHouse Keeper. | false | |
clusterDomain | string | ClusterDomain — это суффикс домена кластера Kubernetes, используемый для DNS-разрешения. | false | cluster.local |
upgradeChannel | string | UpgradeChannel задаёт канал релизов для проверки обновлений мажорной версии. Если значение пустое, будут предлагаться только минорные обновления. Допустимые значения: stable, lts или конкретная версия major.minor (например, 25.8). | false | |
versionProbeTemplate | VersionProbeTemplate | Переопределения VersionProbeTemplate для задачи определения версии. | false |
KeeperClusterStatus
| Поле | Тип | Описание | Обязательное | По умолчанию |
|---|---|---|---|---|
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 указывает версию, которую сообщает образ контейнера. | false | |
versionProbeRevision | string | VersionProbeRevision — хеш образа последней успешной проверки версии. Когда он совпадает с текущим хешем образа, кэшированное значение Version используется напрямую. | false |
KeeperSettings
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
logger | LoggerConfig | Конфигурация логирования сервера ClickHouse Keeper. | false | |
tls | ClusterTLSSpec | Настройки TLS, позволяющие настроить защищённые конечные точки и проверку сертификатов для сервера ClickHouse Keeper. | false | |
extraConfig | RawExtension | Дополнительная конфигурация ClickHouse Keeper, которая будет объединена с конфигурацией по умолчанию. | false |
LoggerConfig
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
logToFile | boolean | Если false, отключает запись журналов в файл. | false | true |
jsonLogs | boolean | Если true, журналы записываются в формате JSON. | false | false |
level | string | Уровень детализации логгера сервера. | false | trace |
size | string | Максимальный размер файла журнала. | false | 1000M |
count | integer | Максимальное количество сохраняемых файлов журнала. | false | 50 |
PDBPolicy
| Поле | Описание |
|---|---|
Enabled | PDBPolicyEnabled включает создание объектов PodDisruptionBudget оператором. |
Disabled | PDBPolicyDisabled отключает объекты PodDisruptionBudget; оператор удалит ресурс с соответствующими метками. |
Ignored | PDBPolicyIgnored игнорирует объекты PodDisruptionBudget; оператор не будет создавать или удалять PDB, а существующие PDB останутся без изменений. |
PodDisruptionBudgetSpec
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
policy | PDBPolicy | Политика определяет, будет ли оператор создавать PodDisruptionBudget. Если значение не задано, по умолчанию используется “Enabled”. Установите “Disabled”, чтобы не создавать PDB (например, в средах разработки). | false | Enabled |
minAvailable | IntOrString | MinAvailable — минимальное количество подов, которые должны оставаться доступными при нарушении работы. | false | |
maxUnavailable | IntOrString | MaxUnavailable — максимальное количество подов, которые могут быть недоступны при нарушении работы. | false | |
unhealthyPodEvictionPolicy | UnhealthyPodEvictionPolicyType | UnhealthyPodEvictionPolicy определяет критерии, по которым неработоспособные поды следует рассматривать для выселения. Допустимые значения: “IfReady” и “AlwaysAllow”. | false |
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 — это ключ меток узлов. Узлы с меткой с этим ключом и одинаковыми значениями считаются находящимися в одной и той же топологической зоне. Задайте его, чтобы включить правила TopologySpreadConstraints и Affinity по умолчанию для распределения подов по зонам. Рекомендуется задать значение “topology.kubernetes.io/zone” | false | |
nodeHostnameKey | string | NodeHostnameKey — это ключ меток узла. Узлы с меткой с этим ключом и одинаковыми значениями считаются находящимися на одном и том же узле. Укажите его, чтобы включить правила AntiAffinity по умолчанию и распределять реплики из разных сегментов по узлам. Рекомендуется установить значение “kubernetes.io/hostname” | false | |
initContainers | массив Container | InitContainers — это список init-контейнеров, запускаемых до запуска основного контейнера сервера. Объединяется со значениями по умолчанию оператора для контейнеров с тем же именем. | false |
SecretKeySelector
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
name | string | Имя Secret в пространстве имен кластера, из которого выбирается значение. | true | |
key | string | Ключ Secret, который нужно выбрать. Должен быть допустимым ключом Secret. | true |
TemplateMeta
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
labels | object (keys:string, values:string) | Метки, применяемые к объектам шаблона. | false | |
annotations | object (keys:string, values:string) | annotations, применяемые к объектам шаблона. | false |
VersionProbeContainer
| Поле | Тип | Описание | Обязательное | По умолчанию |
|---|---|---|---|---|
name | string | Имя контейнера. Если не указано, оператор задаёт имя контейнера для проверки версии. | true | version-probe |
resources | ResourceRequirements | Ресурсы, необходимые контейнеру проверки версии для вычислений. Объединяются со значениями оператора по умолчанию через глубокое слияние SMP. | false | |
securityContext | SecurityContext | SecurityContext определяет параметры безопасности для контейнера проверки версии. Объединяется со значениями оператора по умолчанию через глубокое слияние SMP. | false |
VersionProbeJobSpec
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
ttlSecondsAfterFinished | integer | TTLSecondsAfterFinished ограничивает время существования завершённой задачи. | false | |
template | VersionProbePodTemplate | Шаблон описывает под, который будет создан для задачи проверки версии. | false |
VersionProbePodSpec
| Поле | Тип | Описание | Обязательное | По умолчанию |
|---|---|---|---|---|
nodeSelector | object (keys:string, values:string) | NodeSelector ограничивает запуск пода проверки версии узлами с соответствующими метками. | false | |
tolerations | Toleration array | Tolerations для пода проверки версии. | false | |
securityContext | PodSecurityContext | SecurityContext содержит атрибуты безопасности на уровне пода для пода проверки версии. | false | |
containers | VersionProbeContainer array | Переопределения контейнеров для пода проверки версии. Поле name необязательно — оператор заполняет его именем контейнера по умолчанию. Также можно указать дополнительный контейнер с другим именем. | false |
VersionProbePodTemplate
| Поле | Тип | Описание | Обязательно | По умолчанию |
|---|---|---|---|---|
metadata | TemplateMeta | Описание полей metadata см. в документации Kubernetes API. | false | |
spec | VersionProbePodSpec | Спецификация требуемого поведения пода проверки версии. | false |
VersionProbeTemplate
| Поле | Тип | Описание | Обязательное | По умолчанию |
|---|---|---|---|---|
metadata | TemplateMeta | Описание полей metadata см. в документации Kubernetes API. | false | |
spec | VersionProbeJobSpec | Спецификация требуемого поведения задачи проверки версии. | false |