helm upgrade --install clickhouse ./single-clickhouse \
-f single-clickhouse/values.yaml \
-f single-clickhouse/values-secret.yamlМинимальный Helm-чарт, который разворачивает одиночный ClickHouse:
StatefulSetс 1 репликой, PVC для данных иusers.xml/profiles.xmlмонтированными в/etc/clickhouse-server/users.d.- Возможность указать желаемую версию ClickHouse через параметр
image.tagвvalues.yaml. - Пользователи описываются (профили/квоты/сети) в
values.yaml, а пароли выносятся в отдельный файл (values-secret.yaml).
- Kubernetes >=1.20 с рабочим StorageClass по умолчанию.
- Доступ к образу
clickhouse/clickhouse-server:<tag>из кластера.
- В
values.yamlправим блокusers: имена, профили, квоты, сети. - Копируем пример секретов:
и вписываем реальные пароли (
cp clickhouse/values-secret.example.yaml clickhouse/values-secret.yaml
userCredentials.<user>). Этот файл не коммитим. - (Опционально) включаем пользовательские профили:
После этого пользователю можно назначить
profiles: enabled: true items: - name: analytics settings: max_memory_usage: 4000000000 max_threads: 8
profile: analytics.
- Убедиться, что Pod поднялся:
kubectl get pods -l app=clickhouse. - Пробросить порт и выполнить HTTP-запрос:
kubectl port-forward svc/clickhouse 8123:8123 & curl -u app:app_password --data-binary 'SELECT 1' http://localhost:8123/
- Проверить TCP-клиентом внутри кластера:
kubectl run -it --rm ch-client --image=clickhouse/clickhouse-server --restart=Never -- \ clickhouse-client --host clickhouse --user app --password 'app_password' --query 'SELECT version();'