Оригинал: Kubernetes Just Turned Ten: Where Does PostgreSQL Stand? — 25 июня 2024.
Kubernetes исполнилось 10 лет, и его внедрение только разгоняется. Организации мигрируют целые ЦОДы и облачные регионы под единый API — Infrastructure as Code, переносимость между private/public/hybrid/multi-cloud, защита от vendor lock-in.
Базы данных приходят в Kubernetes
Workload-ы баз данных стали критическим use case Kubernetes — особенно с волной AI-приложений. Расширяемость PostgreSQL и экстеншены вроде pgvector сильно ускорили принятие. Лозунги «PostgreSQL for everything» (Timescale) и «Just use Postgres» (EDB) разошлись по соцсетям. В 2023 PostgreSQL получил «Database of the Year».
Цитата Simon Riggs (PGConf Europe, декабрь 2023):
«Most, if not all, database use cases can be met by Postgres (plus Extensions).»
Автор смотрит на момент с 5-летней дистанции своего пути с Postgres-on-Kubernetes — с 2019 года в 2ndQuadrant, потом CloudNativePG, CNCF и DoK Community.
Ликбез: Kubernetes и Cloud Native
Kubernetes даёт стандартный API не только для инфраструктуры, но и для запуска контейнеров. Где именно физически — становится не важно: контейнеры — это «cattle, not pets».
Кластер Kubernetes = control plane + worker nodes, обычно по нескольким availability zones. Базовые ресурсы:
- Pod — наименьшая единица; обычно один контейнер с заданными ресурсами.
- Deployment — реплики приложения, self-healing, HA, rolling updates.
- Service — стабильное сетевое имя.
Вокруг Kubernetes — экосистема CNCF: Prometheus/OpenTelemetry/Fluentd, Argo/Flux, cert-manager/Istio/Falco/OPA. Стандарты OCI и CSI задают «контракт» для контейнеров и storage.
База данных в этой экосистеме много лет считалась чужаком — но AI-волна и операторный паттерн поменяли картину.
Ликбез: Kubernetes vs VM
Главное отличие — VM запускает ОС, Kubernetes запускает контейнеризованные приложения и оркестрирует их. VM не управляет приложениями внутри себя.
Deployment в Kubernetes реагирует на ожидаемые и неожиданные события: drain ноды → workload переносится; падение ноды → self-healing; снижение нагрузки → автоскейлинг вниз. Это ресурс-эффективнее и дешевле, чем VM, и контейнеры не тащат с собой целую ОС.
Kubernetes занимается и Day-2: апгрейды, business continuity, IaC. VM требуют отдельного софта поверх. Контейнеры immutable — обновление = замена образа в rolling-update; статус кластера = состояние всей инфраструктуры в один момент времени.
VM можно положить в любое облако, но «портабельность» в каждое облако — отдельная история. Kubernetes-сервис есть у всех major-провайдеров → инфраструктура реально портабельна.
Operator pattern критичен для БД
Стандартных ресурсов Kubernetes для БД мало. Сила Kubernetes — operator pattern: можно «научить» Kubernetes понимать сложные приложения вроде PostgreSQL.
Автор настоятельно не рекомендует тащить прод-БД в Kubernetes без оператора, который понимает primary/standby, делает автофейловер, switchover, fencing, hibernation, бэкапы и PITR, повышает безопасность по умолчанию и интегрируется с Prometheus/Grafana/Fluentbit.
Цитата Michelle Au (Google, Kubernetes Storage):
«Kubernetes has come a long way from “no way I would run a database on Kubernetes” to “I’m running databases at petabyte scale with automated rolling upgrades."»
Автор — мейнтейнер CloudNativePG, в основе которого ~20 лет опыта эксплуатации mission-critical Postgres из EDB / 2ndQuadrant.
Где сейчас Postgres-в-Kubernetes (мнение автора)
Холистический подход CloudNativePG даёт результаты. В отличие от большинства операторов, CNPG спроектирован с нуля под Kubernetes-аудиторию: «Bringing Postgres to Kubernetes».
CNPG — это не просто оператор, а database management platform: Kubernetes сам понимает PostgreSQL-кластер без внешних инструментов (Patroni, repmgr) для primary election, async/sync репликации, фейловера, switchover, backup/restore, мониторинга, certificate management.
CNPG напрямую управляет PVC через storage classes без StatefulSet, поддерживает volume snapshot backup/restore, статус кластера хранит в Kubernetes. Security-by-default — критическое преимущество.
Команда CloudNativePG активно участвует в DoK Community, CNCF TAG Storage, Kubernetes storage project. EDB опенсорснула CNPG в мае 2022 под Apache 2.0; vendor-neutral, под open governance, без принадлежности компании.
CloudNativePG — один из самых обсуждаемых database operator на KubeCon и Kubernetes Community Days последних лет.
PostgreSQL-сообщество
Сейчас не хватает Postgres-экспертизы в Kubernetes-стеке. Это огромная возможность для DBA: программы и материалы, объясняющие сходства/различия между «классической» инфраструктурой (VM/bare metal) и Kubernetes.
Энтерпрайз-инфраструктура
Команды, которые управляют Kubernetes в больших компаниях, часто не знают, что в нём можно держать БД. Они предпочитают DBaaS (если нет своих DBA) или классические VM/железо. Не хватает технических материалов для solution architects.
Особенно интересно с точки зрения CIO в Европе: open-source мандаты и EU Data Act → организация остаётся хозяином своих данных. Стек Postgres + Kubernetes + CloudNativePG — отличный кандидат.
Команды разработки
Разработчики уже пишут под контейнеры, но часто не понимают, что PostgreSQL может быть микросервисной БД в Kubernetes — а не «чем-то снаружи приложения». Включение PostgreSQL в свои CI/CD-пайплайны даёт скорость и надёжность.
Выводы
Главные причины, почему компании уходят в Kubernetes:
- Стандартизация и портативность — меньше vendor lock-in;
- Эффективность ресурсов — оркестрация и автоскейлинг;
- Day-2 операции — операторы автоматизируют апгрейды и self-healing;
- Security и change management — иммутабельные контейнеры + rolling updates;
- Скорость релизов — самостоятельные продуктовые команды + CI/CD.
PostgreSQL отлично ложится в каждый из этих пунктов. Kubernetes на десятилетие совпадает с пятилетием инициативы Cloud Native PostgreSQL (с августа 2019 в 2ndQuadrant). Ждём следующих 5 лет инноваций.
Цитата Wei-Yen Tan (Senior Platform Engineer, Datacom NZ):
«We chose to implement CNPG in our client’s production environment to manage high-volume daily transactions across multiple locations. This component is critical to our operations.»