A Helm chart for ClickHouse running on AWS EKS across AZs using a nodeSelector to pin resources to run on specific VMs types
# add the altinity chart repository
helm repo add altinity https://helm.altinity.com
# use this command to install clickhouse-eks chart (it will also create a `clickhouse` namespace)
helm install clickhouse altinity/clickhouse-eks --namespace clickhouse --create-namespaceUse
-fflag to override default values:helm install -f newvalues.yaml
# get latest repository versions
helm repo update
# upgrade to a newer version using the release name (`clickhouse`)
helm upgrade clickhouse altinity/clickhouse-eks --namespace clickhouse# uninstall using the release name (`clickhouse`)
helm uninstall clickhouse --namespace clickhouseThis command removes all the Kubernetes components associated with the chart and deletes the release.
# list your pods
kubectl get pods --namespace clickhouse
# pick any of your available pods and connect through the clickhouse-client
kubectl exec -it chi-eks-dev-0-0-0 --namespace clickhouse -- clickhouse-clientUse
kubectl port forwardto access your ClickHouse cluster from outside:kubectl port-forward service clickhouse-eks 9000:9000 & clickhouse-client
| Key | Type | Default | Description |
|---|---|---|---|
| all.metadata.labels.application_group | string | "eks" |
The name of the application group |
| clickhouse.cluster | string | "dev" |
Cluster name |
| clickhouse.extraContainers | list | [] |
Extra containers for clickhouse pods |
| clickhouse.extraVolumes | list | [] |
Extra volumes for clickhouse pods |
| clickhouse.image | string | "altinity/clickhouse-server:24.3.12.76.altinitystable" |
ClickHouse server image |
| clickhouse.keeper_name | string | "keeper-eks" |
Name of the keeper cluster |
| clickhouse.name | string | "eks" |
Metadata name |
| clickhouse.node_selector | string | "m6i.large" |
AWS instance type |
| clickhouse.password | string | nil |
ClickHouse user password |
| clickhouse.service_type | string | "cluster-ip" |
Possible service types are cluster-ip, internal-loadbalancer and external-loadbalancer |
| clickhouse.storage | string | "50Gi" |
Storage size for ClickHouse data |
| clickhouse.storage_class_name | string | "gp2" |
Storage class for ClickHouse data |
| clickhouse.user | string | "default" |
ClickHouse user name |
| clickhouse.zones | list | ["us-east-1a","us-east-1a","us-east-1c"] |
AWS availability zones for creating replicas |