Ответ вслух Senior HPA, StatefulSet и тома обновлено

Базы данных в Kubernetes

Вопрос

Стоит ли запускать PostgreSQL в Kubernetes? Если да, то как сделать это надёжно?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Сначала спрошу, зачем. Управляемая база в облаке снимает бэкапы, обновления и переключение при отказе, и для небольшой команды это часто правильный выбор.

Что должно прозвучать в ответе

  • Альтернатива: управляемая база в облаке, часто проще и надёжнее для небольших команд

  • Если в кластере, то через оператор (CloudNativePG и подобные), а не голый StatefulSet

  • StatefulSet даёт имена, тома и порядок, но репликацию и failover делает оператор или сама СУБД

  • Хранилище: быстрые диски, `WaitForFirstConsumer`, `Retain`, мониторинг заполнения

  • Бэкапы и PITR в объектное хранилище, регулярная проверка восстановления

  • Размещение: реплики по зонам (anti-affinity), PDB, Guaranteed QoS, выделенные узлы

Что могут спросить следом

  • Что делает оператор, чего не делает StatefulSet?
  • Как обновить версию PostgreSQL в кластере?

Разбор

Сначала спрошу, зачем. Управляемая база в облаке снимает бэкапы, обновления и переключение при отказе, и для небольшой команды это часто правильный выбор. Если база нужна в кластере, например из-за требований к размещению или стоимости, то только через зрелый оператор, например CloudNativePG, а не самописный StatefulSet. StatefulSet даёт стабильные имена, собственный том на реплику и порядок запуска, но не знает, кто мастер и как переключаться. Это делает оператор: потоковая репликация, автоматический failover, обновление версий, бэкапы. Хранилище: быстрые блочные диски, StorageClass с WaitForFirstConsumer и Retain, алерты на заполнение. Бэкапы с непрерывной архивацией WAL в объектное хранилище для восстановления на момент времени, и регулярная проверка восстановления. Размещение: реплики в разных зонах через anti-affinity, PDB, чтобы обслуживание узлов не уронило кворум, Guaranteed QoS и, возможно, выделенные узлы с taints. И мониторинг: репликационный лаг, соединения, диск.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме