ClickHouse в Kubernetes

ClickHouse — быстрая колоночная СУБД для аналитики, и в Kubernetes она чувствует себя нормально. Но «нормально» получается только если понимать, где именно stateful-нагрузка конфликтует с моделью Kubernetes и какие настройки на самом деле решают: топология шардов и реплик, кворум Keeper, тип дисков, ORDER BY, размер вставок и лимиты памяти.

Эта серия — собранные вместе практики промышленной эксплуатации ClickHouse в Kubernetes. Без «поднимите Helm-чарт и радуйтесь»: каждая часть объясняет, что произойдёт под нагрузкой и что чинить, когда пойдёт не так.

Из чего состоит серия

  1. Часть 1. Архитектура ClickHouse и что меняется в Kubernetes
  2. Часть 2. Операторы: официальный от ClickHouse Inc. и Altinity
  3. Часть 3. ClickHouse Keeper: кворум, ресурсы и грабли
  4. Часть 4. Storage: диски, PVC и tiered storage с S3
  5. Часть 5. Проектирование таблиц: ORDER BY, партиции, кодеки, TTL
  6. Часть 6. Вставка данных: батчи, async_insert и потоки из Kafka
  7. Часть 7. Ресурсы и память: как не получить OOMKilled
  8. Часть 8. Наблюдаемость: system-таблицы, метрики и алерты
  9. Часть 9. Бэкапы и восстановление
  10. Часть 10. Безопасность и эксплуатация: доступы, обновления, анти-паттерны

Практика с больших инсталляций (по материалам блога ClickHouse):

  1. Часть 11. Надёжный приём OpenTelemetry: что делать, когда ClickHouse недоступен
  2. Часть 12. Wide events: чем они лучше логов и метрик
  3. Часть 13. LogHouse: квадриллион строк в трёх облаках

Для кого

Для тех, кто уже умеет в Kubernetes и хочет завести ClickHouse так, чтобы через полгода он не превратился в набор ручных костылей. Базовое знакомство с SQL и kubectl подразумевается; специфика ClickHouse объясняется по ходу.

Материал опирается на официальную документацию ClickHouse и оператора Altinity (Apache-2.0). Все примеры — мои; проверяйте версии и настройки под свою инсталляцию, API операторов меняется.

Начать поиск

Введите ключевые слова для поиска статей

↑↓
ESC
⌘K Горячая клавиша