ClickHouse/clickhouse-operator
ClickHouse/clickhouse-operator has 316 GitHub stars and 48 forks. Star changes are not measured yet. Last checked 2026-11-11 08:07 UTC. Last push 2026-11-10.
Official Kubernetes Operator for ClickHouse®
What you can do
- ClickHouse Cluster Management: Create and manage ClickHouse clusters
- ClickHouse Keeper Integration: Built-in support for ClickHouse Keeper clusters for distributed coordination
- Storage Provisioning: Customizable persistent volume claims with storage class selection
- High Availability: Fault-tolerant installations for ClickHouse and Keeper clusters
측정된 스타 증가
- in 24h
- 기록 수집 중
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
OriginalClickHouse Operator
The ClickHouse Operator is a Kubernetes operator that automates the deployment, configuration, and management of ClickHouse clusters and ClickHouse Keeper clusters on Kubernetes. It provides declarative cluster management through custom resources, enabling users to easily create highly-available ClickHouse deployments.
The Operator handles the full lifecycle of ClickHouse clusters, including scaling, upgrades, and configuration management.
Features
- ClickHouse Cluster Management: Create and manage ClickHouse clusters
- ClickHouse Keeper Integration: Built-in support for ClickHouse Keeper clusters for distributed coordination
- Storage Provisioning: Customizable persistent volume claims with storage class selection
- High Availability: Fault-tolerant installations for ClickHouse and Keeper clusters
- Security: Built-in security features TLS/SSL support for secure cluster communication
- Monitoring: Prometheus metrics integration for observability
Getting Started
Prerequisites
- go version v1.27.3+
- docker version 17.03+
kubectlversion v1.28.0+- Access to a Kubernetes v1.28.0+ cluster
- cert-manager installed in the cluster (for webhook certificates)
Quick Start
For users who want to quickly try the operator:
Install the Custom Resource Definitions(CRD) and operator (Requires cert-manager to issue webhook certificates):
- Using pre-built manifests:
kubectl apply --server-side --force-conflicts -f https://github.com/ClickHouse/clickhouse-operator/releases/latest/download/clickhouse-operator.yaml - Using helm chart
helm install clickhouse-operator oci://ghcr.io/clickhouse/clickhouse-operator-helm \ --create-namespace \ -n clickhouse-operator-system
- Using pre-built manifests:
Deploy a sample cluster:
- Using raw manifests:
kubectl apply -f https://raw.githubusercontent.com/ClickHouse/clickhouse-operator/refs/heads/main/examples/minimal.yaml - Using the helm chart:
helm install ch oci://ghcr.io/clickhouse/clickhouse-cluster-helm \ --create-namespace \ -n clickhouse
- Using raw manifests:
Verify the deployment:
kubectl get clickhouseclusters kubectl get keeperclusters kubectl get pods
Deploy from the sources
Build and push your image to the location specified by IMG:
make docker-build docker-push IMAGE_REPO=<some-registry>
NOTE: This image ought to be pushed to the personal registry you specified. And it is required to have access to pull the image from the working environment. Make sure you have the proper permission to the registry if the above commands don’t work.
Install the Custom Resource Definitions(CRD) into the cluster:
make install
Deploy the Manager to the cluster with the image specified by IMG:
make deploy IMAGE_REPO=<some-registry>
NOTE: If you encounter RBAC errors, you may need to grant yourself cluster-admin privileges or be logged in as admin.
Examples
The examples/ directory contains various ClickHouse cluster configurations:
- minimal.yaml: Basic ClickHouse cluster with Keeper (2 replicas, 1 shard)
- cluster_with_ssl.yaml: ClickHouse cluster with TLS/SSL enabled. Requires cert-manager to issue certificates.
- aws_eks_gp3.yaml: Configuration for AWS EKS with gp3 storage
- gcp_gke_ssd.yaml: Configuration for GCP GKE with SSD storage
- custom_configuration.yaml: ClickHouse cluster with configuration overrides
- prometheus_secure_metrics_scraper.yaml: Configuration for secure operator metrics scraping. Requires Prometheus operator and enabled secure metrics endpoint
To deploy any example:
kubectl apply -f examples/<example-file>.yaml
To Uninstall
Delete the APIs(CRDs) from the cluster:
make uninstall
UnDeploy the controller from the cluster:
make undeploy
Documentation
For more detailed information, see the documentation.
Contributing
We welcome contributions to the ClickHouse Operator project! Here's how you can help:
- Bug Reports: Open an issue describing the bug and steps to reproduce
- Feature Requests: Submit an issue with your feature proposal and use case
- Pull Requests: Fork the repository, make your changes, and submit a PR
- Documentation: Help improve documentation and examples
- Testing: Test the operator in different environments and report issues
Before contributing, please ensure:
- All tests pass:
make test - Code follows Go conventions and passes linting:
make lint - Commits are well-documented
Useful Links
관련 프로젝트 살펴보기
Asabeneh/30-Days-Of-Python
30 Days of Python 프로그래밍 챌린지는 Python 프로그래밍 언어를 30일 동안 배우기 위한 단계별 가이드입니다. 이 챌린지는 100일 이상 걸릴 수 있습니다. 자신의 속도에 맞춰 진행하세요. 다음 동영상도 도움이 될 수 있습니다: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 스타grafana/grafana
개방적이고 조합 가능한 옵저버빌리티 및 데이터 시각화 플랫폼입니다. Prometheus, Loki, Elasticsearch, InfluxDB, Postgres 등 여러 소스의 메트릭, 로그, 트레이스를 시각화합니다.
77,830 스타redis/redis
실시간 데이터 기반 애플리케이션을 구축하는 개발자에게 Redis는 가장 선호되고, 가장 빠르며, 기능이 가장 풍부한 캐시, 데이터 구조 서버이자 문서 및 벡터 쿼리 엔진입니다.
77,395 스타apache/superset
Apache Superset는 데이터 시각화 및 데이터 탐색 플랫폼입니다.
75,473 스타