clickhouse.chart

ClickHouse Helm Chart

A Helm chart for deploying ClickHouse on Kubernetes. ClickHouse is an open-source column-oriented database management system capable of real-time generation of analytical data reports using SQL queries.

Features

Chart Details

Installation

Add the Helm repository

helm repo add clickhouse https://thiagoloureiro.github.io/clickhouse.chart/
helm repo update

Install the chart

helm install my-clickhouse clickhouse/clickhouse

Install with custom values

helm install my-clickhouse clickhouse/clickhouse -f my-values.yaml

Configuration

The following table lists the most important configurable parameters and their default values:

Parameter Description Default
clickhouse.replicas Number of ClickHouse replicas 3
clickhouse.image ClickHouse image clickhouse/clickhouse-server
clickhouse.imageVersion ClickHouse image version 25.12
clickhouse.persistentVolumeClaim.enabled Enable persistent volumes true
clickhouse.persistentVolumeClaim.dataPersistentVolume.storage Data volume size 100Gi
clickhouse.metrics.enabled Enable Prometheus metrics true
clickhouse.metrics.port Metrics port 9116
tabix.enabled Enable Tabix web UI false
timezone Timezone for the cluster UTC

For a complete list of configuration options, see values.yaml.

Examples

Basic Installation

helm install clickhouse clickhouse/clickhouse

Installation with Custom Replicas

helm install clickhouse clickhouse/clickhouse \
  --set clickhouse.replicas=5

Installation with Tabix UI

helm install clickhouse clickhouse/clickhouse \
  --set tabix.enabled=true

Installation with Custom Storage

helm install clickhouse clickhouse/clickhouse \
  --set clickhouse.persistentVolumeClaim.dataPersistentVolume.storage=500Gi

Installation with Prometheus ServiceMonitor

helm install clickhouse clickhouse/clickhouse \
  --set clickhouse.metrics.serviceMonitor.enabled=true

Accessing ClickHouse

HTTP Interface

The HTTP interface is available on port 8123:

# Port forward to access locally
kubectl port-forward svc/clickhouse 8123:8123

# Query via HTTP
curl 'http://localhost:8123/?query=SELECT%201'

Native TCP Interface

The native TCP interface is available on port 9000:

# Port forward to access locally
kubectl port-forward svc/clickhouse 9000:9000

Tabix Web UI

If Tabix is enabled, you can access it via port forwarding or ingress:

# Port forward to access locally
kubectl port-forward svc/clickhouse-tabix 8080:80

Then open http://localhost:8080 in your browser.

Upgrading

helm upgrade clickhouse clickhouse/clickhouse

Uninstalling

helm uninstall clickhouse

Note: This will delete all resources including persistent volumes. Make sure to backup your data before uninstalling.

Development

Building and Publishing

To create a new version of the chart:

./create-version.sh

This script will:

  1. Package the Helm chart
  2. Update the repository index
  3. Prepare the chart for publishing to GitHub Pages

Resources

License

This Helm chart is provided as-is. Please refer to the ClickHouse license for the database software itself.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

For issues and questions, please open an issue on the GitHub repository.