メインコンテンツへスキップ
このドキュメントでは、ClickHouse Operator のカスタムリソースに関する詳細な API リファレンスを提供します。

ClickHouseCluster

ClickHouseCluster は、clickhouseclusters API のスキーマです。

API バージョンと Kind

apiVersion: clickhouse.com/v1alpha1
kind: ClickHouseCluster
フィールド説明必須デフォルト
specClickHouseClusterSpectrue
statusClickHouseClusterStatustrue
次に含まれます:

ClickHouseClusterList

ClickHouseClusterList は ClickHouseCluster の一覧です。

APIバージョンと Kind

apiVersion: clickhouse.com/v1alpha1
kind: ClickHouseClusterList
フィールドType説明必須デフォルト
itemsClickHouseCluster の配列true

ClickHouseClusterSpec

ClickHouseClusterSpec は、ClickHouseCluster の望ましい状態を定義します。
FieldTypeDescriptionRequiredDefault
replicasinteger単一分片内のレプリカ数。false3
shardsintegerクラスター内の分片数。false1
keeperClusterRefKeeperClusterReferenceClickHouse のコーディネーションに使用される KeeperCluster への参照。
ネームスペースが省略された場合は、ClickHouseCluster のネームスペースが使用されます。
true
podTemplatePodTemplateSpecClickHouse ポッド仕様に渡されるパラメーター。false
containerTemplateContainerTemplateSpecClickHouse コンテナー仕様に渡されるパラメーター。false
dataVolumeClaimSpecPersistentVolumeClaimSpecClickHouse データ用の永続ストレージ仕様。false
labelsobject (keys:string, values:string)リソースに追加されるラベル。false
annotationsobject (keys:string, values:string)リソースに追加されるアノテーション。false
podDisruptionBudgetPodDisruptionBudgetSpecPodDisruptionBudget は、各分片に対して作成される PDB を設定します。
未設定の場合、オペレーターは単一レプリカの
分片では maxUnavailable=1、複数レプリカの分片では minAvailable=1 をデフォルトで使用します。
false
settingsClickHouseSettingsClickHouse server の設定パラメーター。false
clusterDomainstringClusterDomain は、DNS 名前解決に使用される Kubernetes クラスターのドメイン接尾辞です。falsecluster.local
upgradeChannelstringUpgradeChannel は、メジャーバージョンのアップグレードチェックに使用するリリースチャネルを指定します。
空の場合は、マイナーアップデートのみが提案されます。指定できる値は stable、lts、または特定の major.minor バージョン (例: 25.8) です。
false
versionProbeTemplateVersionProbeTemplateバージョン検出 Job に対する VersionProbeTemplate のオーバーライド。false
externalSecretExternalSecretExternalSecret は、クラスターのシークレットを含む外部管理された Secret への任意の参照です。
この Secret はクラスターと同じネームスペース内に存在している必要があります。
false
Appears in:

ClickHouseClusterStatus

ClickHouseClusterStatus は、ClickHouseCluster の観測済みの状態を定義します。
フィールド説明必須デフォルト
conditionsCondition 配列false
readyReplicasintegerReadyReplicas は、リクエストを処理できる状態にあるレプリカの総数です。false
configurationRevisionstringConfigurationRevision は、各レプリカの対象構成リビジョンを示します。true
statefulSetRevisionstringStatefulSetRevision は、各レプリカの対象 StatefulSet リビジョンを示します。true
currentRevisionstringCurrentRevision は、最後に適用された ClickHouseCluster spec リビジョンを示します。true
updateRevisionstringUpdateRevision は、最後に要求された ClickHouseCluster spec リビジョンを示します。true
observedGenerationintegerObservedGeneration は、コントローラーが観測した最新の generation を示します。true
versionstringVersion は、コンテナーイメージから報告されたバージョンを示します。false
versionProbeRevisionstringVersionProbeRevision は、最後に成功したバージョンプローブのイメージハッシュです。
これが現在のイメージハッシュと一致する場合は、cache された Version がそのまま使用されます。
false
以下に登場します:

ClickHouseSettings

ClickHouseSettings は、ClickHouse server の設定オプションを定義します。
FieldTypeDescriptionRequiredDefault
defaultUserPasswordDefaultPasswordSelectordefault ClickHouse ユーザーのパスワードの取得元と種類を指定します。false
loggerLoggerConfigClickHouse server のログ設定です。false
tlsClusterTLSSpecTLS の設定です。ClickHouse server のセキュアなエンドポイントや証明書検証を構成できます。false
enableDatabaseSyncboolean新しく作成されたレプリカへの ClickHouse データベースの同期と、スケールダウン後の古くなったレプリカのクリーンアップを有効にします。
Replicated およびインテグレーションデータベースのみをサポートします。
falsetrue
extraConfigRawExtensionデフォルト設定にマージされる追加の ClickHouse 設定です。false
extraUsersConfigRawExtensionデフォルト設定にマージされる追加の ClickHouse ユーザー設定です。false
Appears in:

ClusterTLSSpec

ClusterTLSSpec は、クラスターの TLS 設定を定義します。
FieldTypeDescriptionRequiredDefault
enabledbooleanEnabled は、TLS を有効にするかどうかを示し、セキュアなポートを開くかどうかを決定します。falsefalse
requiredbooleanRequired は、すべての接続で TLS を必須にするかどうかを指定します。非セキュアポートは無効になります。falsefalse
serverCertSecretLocalObjectReferenceServerCertSecretRef は、サーバー証明書を含む TLS Secret への参照です。
Secret は cert-manager によって生成される証明書と同じ構造であることが想定されており、
証明書と秘密鍵はそれぞれ “tls.crt” と “tls.key” キーに格納されます。
false
caBundleSecretKeySelectorCABundle は、CA バンドルを含む TLS Secret への参照です。
空で、ServerCertSecret が指定されている場合は、証明書に含まれる CA バンドルが使用されます。
それ以外の場合は、システムで信頼されている CA バンドルが使用されます。
指定がない場合、Key のデフォルト値は “ca.crt” です。
false
以下で使用されます:

ConfigMapKeySelector

ConfigMapKeySelector は、ConfigMap のキーを選択します。
フィールド説明必須デフォルト
namestring選択元の、クラスターのネームスペース内にある ConfigMap の名前。true
keystring選択する ConfigMap のキー。有効なキーである必要があります。true
以下に登場します:

ContainerImage

ContainerImage は、repository、tag、または hash を指定したコンテナーイメージを定義します。
フィールド説明必須デフォルト
repositoryStringコンテナーイメージのレジストリ名
例: docker.io/clickhouse/clickhouse
false
tagStringコンテナーイメージのタグ。hash と同時には指定できません。
例: 25.3
false
hashStringコンテナーイメージのハッシュ。tag と同時には指定できません。false
以下で使用されます:

ContainerTemplateSpec

ContainerTemplateSpec は、クラスター内のコンテナーに対する設定のオーバーライドを定義します。
フィールド説明必須デフォルト
imageContainerImageImage は、デプロイするコンテナーイメージです。true
imagePullPolicyPullPolicyimage の ImagePullPolicy です。デフォルトは IfNotPresent です。false
resourcesResourceRequirementsResources は、サーバーコンテナーのリソース要件です。
SMP によりオペレーターのデフォルトとディープマージされます。個々の limits と requests は一致する
キーのみを上書きし、未設定のフィールドではオペレーターのデフォルトが保持されます。
false
volumeMountsVolumeMount arrayVolumeMounts は、コンテナーのボリュームマウントの一覧です。
オペレーターが生成したマウントと連結されます。オペレーターのマウントと mountPath を共有するエントリは、
projected volume にマージされます。
false
envEnvVar arrayEnv は、コンテナーに設定する環境変数の一覧です。
名前を基準にオペレーターのデフォルトとマージされます。
false
securityContextSecurityContextSecurityContext は、コンテナーの実行時に使用するセキュリティオプションを定義します。
nil ではない SecurityContext を指定すると、オペレーターのデフォルトは完全に置き換えられます。つまり、
構造体全体の管理はユーザー側の責任となります。nil の場合は、オペレーターのデフォルトが保持されます。
詳細: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
false
livenessProbeProbeLivenessProbe は、オペレーターのデフォルトの liveness probe をオーバーライドします。false
readinessProbeProbeReadinessProbe は、オペレーターのデフォルトの readiness probe をオーバーライドします。false
次で使用されます:

DefaultPasswordSelector

DefaultPasswordSelector は、デフォルトユーザーのパスワードの参照元を選択します。
フィールド説明必須デフォルト
passwordTypestring指定したパスワードの種類です。設定可能な値については https://clickhouse.com/docs/operations/settings/settings-users#user-namepassword のドキュメントを参照してくださいtruepassword
secretSecretKeySelectorSecret のキーからパスワード値を選択しますfalse
configMapConfigMapKeySelectorConfigMap のキーからパスワード値を選択しますfalse
次に登場します:

ExternalSecret

ExternalSecret は、同じネームスペース内の Secret への参照です。
フィールド説明必須デフォルト
namestringSecret の名前。true
policyExternalSecretPolicyポリシーは、オペレーター が Secret の内容をどのように扱うかを制御します。
Observe (デフォルト) : 必須の key がいずれか不足している場合、reconciliation を停止します。
Manage: 不足している必須の key を既存の Secret に生成します。
falseObserve
以下に登場します。

ExternalSecretPolicy

ExternalSecretPolicy は、オペレーター が external secret の内容をどのように扱うかを制御します。
フィールド説明
ObserveExternalSecretPolicyObserve はデフォルトのポリシーで、オペレーター は secret を読み取って検証します。
必要なキーが 1 つでも欠けている場合、reconciliation はブロックされます。
不足している必須キーとその想定フォーマットは、実行時に ExternalSecretValid ステータス条件を通じて報告されます。
ManageExternalSecretPolicyManage は、オペレーター が不足している必須キーを補うために、
その値を生成するポリシーです。secret は更新されますが、オペレーター が所有したり削除したりすることはありません。
次に登場します:

KeeperCluster

KeeperCluster は、keeperclusters API のスキーマです。

APIバージョンと Kind

apiVersion: clickhouse.com/v1alpha1
kind: KeeperCluster
フィールド説明必須デフォルト
specKeeperClusterSpectrue
statusKeeperClusterStatustrue
以下に含まれます:

KeeperClusterList

KeeperClusterList には、KeeperCluster の一覧が含まれます。

APIバージョンとKind

apiVersion: clickhouse.com/v1alpha1
kind: KeeperClusterList
フィールド説明必須デフォルト
itemsKeeperCluster 配列true

KeeperClusterReference

KeeperClusterReference は、ClickHouseCluster で使用される KeeperCluster を参照します。
フィールド説明必須デフォルト
namestringKeeperCluster リソースの名前。true
namespacestringKeeperCluster リソースのネームスペース。
省略した場合は ClickHouseCluster のネームスペースが使用されます。
false
使用箇所:

KeeperClusterSpec

KeeperClusterSpec は、KeeperCluster の望ましい状態を定義します。
FieldTypeDescriptionRequiredDefault
replicasintegerクラスター内のレプリカ数false3
podTemplatePodTemplateSpecKeeper ポッド仕様に渡されるパラメーター。false
containerTemplateContainerTemplateSpecKeeper コンテナー仕様に渡されるパラメーター。false
dataVolumeClaimSpecPersistentVolumeClaimSpecClickHouse Keeper データ用の永続ストレージ仕様。false
labelsobject (keys:string, values:string)リソースに追加されるラベル。false
annotationsobject (keys:string, values:string)リソースに追加される annotations。false
podDisruptionBudgetPodDisruptionBudgetSpecPodDisruptionBudget は、Keeper クラスター用に作成される PDB を設定します。
未設定の場合、オペレーターは既定で maxUnavailable=replicas/2 を使用します
(2F+1 クラスターでクォーラムを維持するため)。
false
settingsKeeperSettingsClickHouse Keeper サーバーの設定パラメーター。false
clusterDomainstringClusterDomain は、DNS 名前解決に使用される Kubernetes クラスターのドメイン接尾辞です。falsecluster.local
upgradeChannelstringUpgradeChannel は、メジャーバージョンのアップグレード確認に使用するリリースチャネルを指定します。
空の場合、マイナーアップデートのみが提案されます。指定可能な値は stable、lts、または特定の major.minor バージョン (例: 25.8) です。
false
versionProbeTemplateVersionProbeTemplateバージョン検出ジョブ用の VersionProbeTemplate を上書きします。false
以下に表示されます:

KeeperClusterStatus

KeeperClusterStatus は、KeeperCluster の観測された状態を定義します。
フィールド説明必須デフォルト
conditionsCondition arrayfalse
readyReplicasintegerReadyReplicas は、リクエストを処理できる状態にあるレプリカの総数です。false
configurationRevisionstringConfigurationRevision は、各レプリカの目標構成リビジョンを示します。true
statefulSetRevisionstringStatefulSetRevision は、各レプリカの目標 StatefulSet リビジョンを示します。true
currentRevisionstringCurrentRevision は、最後に適用された KeeperCluster spec リビジョンを示します。true
updateRevisionstringUpdateRevision は、最後に要求された KeeperCluster spec リビジョンを示します。true
observedGenerationintegerObservedGeneration は、コントローラーが最後に観測した generation を示します。true
versionstringVersion は、コンテナーイメージから報告されたバージョンを示します。false
versionProbeRevisionstringVersionProbeRevision は、最後に成功したバージョンプローブのイメージハッシュです。
これが現在のイメージハッシュと一致する場合は、キャッシュされた Version がそのまま使用されます。
false
次に記載されています:

KeeperSettings

KeeperSettings は ClickHouse Keeper サーバーの構成を定義します。
フィールド説明必須デフォルト
loggerLoggerConfigClickHouse Keeper サーバーのログ設定。false
tlsClusterTLSSpecTLS 設定。ClickHouse Keeper サーバー向けに、安全なエンドポイントと証明書検証を構成できます。false
extraConfigRawExtensionデフォルト設定にマージされる追加の ClickHouse Keeper 設定。false
以下で使用されます:

LoggerConfig

LoggerConfigはサーバーのログ設定を定義します。
フィールド説明必須デフォルト
logToFilebooleanfalse の場合、ファイルへのログ出力をすべて無効にします。falsetrue
jsonLogsbooleantrue の場合、JSONフォーマットでログを出力します。falsefalse
levelstringサーバーロガーの詳細レベル。falsetrace
sizestringログファイルの最大サイズ。false1000M
countinteger保持するログファイルの最大数。false50
以下に登場します:

PDBPolicy

PDBPolicy は、PodDisruptionBudget を作成するかどうかを制御します。
フィールド説明
EnabledPDBPolicyEnabled は、オペレーター による PodDisruptionBudget の作成を有効にします。
DisabledPDBPolicyDisabled は PodDisruptionBudget を無効にし、オペレーター は一致するラベルを持つリソースを削除します。
IgnoredPDBPolicyIgnored は PodDisruptionBudget を無視します。オペレーター は PDB の作成や削除を行わず、既存の PDB は変更されません。
次に登場します:

PodDisruptionBudgetSpec

PodDisruptionBudgetSpec は、クラスター用に作成される PDB を設定します。 設定できるのは MinAvailable または MaxUnavailable のいずれか 1 つだけです。 どちらも設定されていない場合、オペレーターはレプリカ数に基づいて安全なデフォルト値を選択します。
フィールド説明必須デフォルト
policyPDBPolicyPolicy は、オペレーターが PodDisruptionBudget を作成するかどうかを制御します。
未設定の場合、デフォルトは “Enabled” です。PDB の作成をスキップするには (たとえば開発環境では) 、“Disabled” に設定します。
falseEnabled
minAvailableIntOrStringMinAvailable は、障害発生時にも利用可能な状態を維持する必要がある最小のポッド数です。false
maxUnavailableIntOrStringMaxUnavailable は、障害発生時に利用不可となってよいポッドの最大数です。false
unhealthyPodEvictionPolicyUnhealthyPodEvictionPolicyTypeUnhealthyPodEvictionPolicy は、異常なポッドを
エビクション対象と見なす条件を定義します。
有効な値は “IfReady” と “AlwaysAllow” です。
false
以下で使用されます:

PodTemplateSpec

PodTemplateSpec は、クラスター内のポッドに対する設定のオーバーライド内容を定義します。
フィールド説明必須デフォルト
terminationGracePeriodSeconds整数ポッドが正常に終了するまでの猶予時間を秒単位で指定する省略可能な値です。削除リクエスト時には短縮される場合があります。
値は 0 以上の整数である必要があります。値が 0 の場合は、kill シグナルにより
即座に停止することを示します (正常終了の機会はありません) 。
この値が nil の場合は、代わりにデフォルトの猶予期間が使用されます。
猶予期間とは、ポッド内で実行中のプロセスに終了シグナルが送られてから、
kill シグナルによってプロセスが強制終了されるまでの秒単位の時間です。
この値は、プロセスで想定されるクリーンアップ時間より長く設定してください。
デフォルトは 30 秒です。
false
topologySpreadConstraintsTopologySpreadConstraint 配列TopologySpreadConstraints は、ポッドのグループをトポロジー
ドメイン全体にどのように分散すべきかを示します。スケジューラは、制約を満たすようにポッドをスケジュールします。
すべての topologySpreadConstraints は AND 条件で適用されます。
topologyKey によって operator のデフォルト値とマージされます。
false
imagePullSecretsLocalObjectReference 配列ImagePullSecrets は、この PodSpec で使用される任意のイメージの取得に使用する、同じネームスペース内の Secret への参照のオプションのリストです。
指定した場合、これらの Secret は各 puller 実装に渡され、そこで使用されます。
詳細情報: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
名前をキーに operator のデフォルトとマージされます。
false
nodeSelectorオブジェクト (キー:string, 値:string)NodeSelector は、ポッドをノードに配置できるようにするために満たされている必要があるセレクターです。
ポッドをそのノードにスケジュールするには、ノードのラベルに一致している必要があるセレクターです。
詳細: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
false
affinityアフィニティ指定した場合、ポッドのスケジューリング制約です。
operator のデフォルトに追加されます。スケジューリング条件のリストは連結されます。
false
tolerationsToleration の配列指定した場合、ポッドの Tolerations です。false
schedulerNamestring指定した場合、ポッドは指定したスケジューラによってスケジューリングされます。
指定しない場合、ポッドはデフォルトのスケジューラによってスケジューリングされます。
false
serviceAccountNamestringServiceAccountName は、このポッドの実行に使用する ServiceAccount の名前です。
詳細: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
false
priorityClassNamestringPriorityClassName は、ポッドで使用する PriorityClass の名前です。false
runtimeClassName文字列RuntimeClassName は、ポッドで使用する RuntimeClass の名前です。false
volumesVolume の配列Volumes は、ポッドに属するコンテナがマウントできるボリュームの一覧を定義します。
詳細: https://kubernetes.io/docs/concepts/storage/volumes
名前ごとにオペレーターのデフォルト設定とマージされます。同じ名前のオペレーターのボリュームがある場合は、ユーザー定義のボリュームで置き換えられます。
false
securityContextPodSecurityContextSecurityContext は、ポッドレベルのセキュリティ属性と共通のコンテナー設定を保持します。
SecurityContext に nil 以外を指定すると、オペレーターのデフォルト設定は完全に置き換えられ、
構造体全体の管理はユーザーの責任となります。nil の場合は、オペレーターのデフォルト設定が維持されます。
false
topologyZoneKeystringTopologyZoneKey はノードラベルのキーです。
このキーを持ち、値が同一のラベルが設定されたノードは、同じトポロジーゾーンに属するとみなされます。
これを設定すると、デフォルトの TopologySpreadConstraints および Affinity ルールが有効になり、ポッドが各ゾーンに分散配置されます。
“topology.kubernetes.io/zone” に設定することを推奨します
false
nodeHostnameKeystringNodeHostnameKey はノードラベルのキーです。
このキーを持ち、かつその値が同じラベルを持つノードは、同一ノード上にあると見なされます。
これを設定すると、異なる分片のレプリカをノード間に分散配置するためのデフォルトの AntiAffinity ルールが有効になります。
“kubernetes.io/hostname” に設定することを推奨します。
false
initContainersContainer の配列InitContainers は、メインのサーバーコンテナーが起動する前に実行される init コンテナーの一覧です。
名前を基準に operator のデフォルト設定とマージされます。
同名のもの同士が対象です。
false
次の項目で使用されます:

SecretKeySelector

SecretKeySelector は、Secret のキーを選択します。
フィールド説明必須デフォルト
namestring選択元の、クラスターのネームスペース内にある Secret の名前。true
keystring選択する Secret のキー。有効なシークレットキーである必要があります。true
以下で使用されます:

TemplateMeta

TemplateMeta は、テンプレートオブジェクトでサポートされるメタデータ設定を定義します。
フィールド説明必須デフォルト
labelsobject (keys:string, values:string)ラベルは、テンプレートオブジェクトに適用されるラベルです。false
annotationsobject (keys:string, values:string)アノテーションは、テンプレートオブジェクトに適用されるアノテーションです。false
以下で使用されます:

VersionProbeContainer

VersionProbeContainer は、バージョンプローブのコンテナーレベルのオーバーライドを定義します。 フィールド名と JSON タグは corev1.Container に合わせており、SMP で名前ベースのマージができるようになっています。
FieldTypeDescriptionRequiredDefault
namestringコンテナー名。空の場合、オペレーターがバージョンプローブコンテナー名を設定します。trueversion-probe
resourcesResourceRequirementsバージョンプローブコンテナーに必要なコンピュートリソース要件です。
SMP により、オペレーターのデフォルト設定とディープマージされます。
false
securityContextSecurityContextバージョンプローブコンテナーのセキュリティオプションを定義する SecurityContext です。
SMP により、オペレーターのデフォルト設定とディープマージされます。
false
以下に登場します:

VersionProbeJobSpec

VersionProbeJobSpec は、バージョンプローブの Job レベルのオーバーライドを定義します。
フィールド説明必須デフォルト
ttlSecondsAfterFinishedintegerTTLSecondsAfterFinished は、完了した Job の存続期間を制限します。false
templateVersionProbePodTemplateTemplate は、バージョンプローブ Job 用に作成されるポッドを記述します。false
以下に含まれます:

VersionProbePodSpec

VersionProbePodSpec は、バージョンプローブのポッドレベルのオーバーライドを定義します。 フィールド名と JSON タグは、strategic merge patch との互換性を保つため、corev1.PodSpec と一致しています。
FieldTypeDescriptionRequiredDefault
nodeSelectorobject (keys:string, values:string)NodeSelector は、一致するラベルを持つノードでのみバージョンプローブのポッドが実行されるよう制限します。false
tolerationsToleration arrayバージョンプローブのポッドに対する Tolerations。false
securityContextPodSecurityContextSecurityContext は、バージョンプローブのポッドに対するポッドレベルのセキュリティ属性を保持します。false
containersVersionProbeContainer arrayバージョンプローブのポッドに対する Containers のオーバーライドです。
name フィールドは省略可能で、オペレーター によってデフォルトのコンテナー名が補完されます。
別の名前を持つ追加コンテナーを指定することもできます。
false
Appears in:

VersionProbePodTemplate

VersionProbePodTemplate は、バージョンプローブ用ポッドのオーバーライドを定義します。
フィールド説明必須デフォルト
metadataTemplateMetametadata の各フィールドについては、Kubernetes API のドキュメントを参照してください。false
specVersionProbePodSpecバージョンプローブ用ポッドの望ましい動作の仕様。false
次の項目で使用されます:

VersionProbeTemplate

VersionProbeTemplate は、バージョン検出 Job のオーバーライドを定義します。 この構造は batchv1.JobTemplateSpec に対応しており、サポートされているフィールドのみを公開します。
FieldTypeDescriptionRequiredDefault
metadataTemplateMetametadata のフィールドについては、Kubernetes API のドキュメントを参照してください。false
specVersionProbeJobSpecバージョンプローブ Job の期待される動作を定義する仕様。false
以下で使用されます:
最終更新日 2026年6月10日