<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Postgres в Kubernetes on Меланхоличный блог</title><link>https://notes.melancholic.tech/projects/postgres-kubernetes/</link><description>Recent content in Postgres в Kubernetes on Меланхоличный блог</description><generator>Hugo</generator><language>ru-RU</language><lastBuildDate>Mon, 06 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://notes.melancholic.tech/projects/postgres-kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>Микросервисные БД с Kubernetes, Postgres и CloudNativePG</title><link>https://notes.melancholic.tech/projects/microservice-databases/</link><pubDate>Wed, 28 Feb 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/microservice-databases/</guid><description>Перевод статьи Gabriele Bartolini о том, почему PostgreSQL в Kubernetes уместен, что такое микросервисная БД и какую роль здесь играет CloudNativePG.</description></item><item><title>Рецепт 1. Локальная песочница за пару минут</title><link>https://notes.melancholic.tech/projects/recipe-1-local-playground/</link><pubDate>Sun, 03 Mar 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-1-local-playground/</guid><description>Поднимаем локальную песочницу для CloudNativePG за несколько минут: kind для локального Kubernetes, установка оператора, первый PostgreSQL-кластер, плагин cnpg для kubectl.</description></item><item><title>Рецепт 2. Что CloudNativePG создаёт по умолчанию</title><link>https://notes.melancholic.tech/projects/recipe-2-default-resources/</link><pubDate>Fri, 08 Mar 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-2-default-resources/</guid><description>Разбираем, какие ConfigMaps, Secrets и глобальные объекты PostgreSQL автоматически создаются вместе с кластером CloudNativePG: TLS-сертификаты, mTLS для replication, пользователь app и БД app.</description></item><item><title>Рецепт 3. А как же без суперпользователя?!</title><link>https://notes.melancholic.tech/projects/recipe-3-no-superuser/</link><pubDate>Mon, 11 Mar 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-3-no-superuser/</guid><description>Почему в CloudNativePG у пользователя postgres по умолчанию нет сетевого доступа, как устроен pg_hba и когда стоит включать enableSuperuserAccess.</description></item><item><title>Рецепт 4. Подключение к кластеру через pgAdmin4</title><link>https://notes.melancholic.tech/projects/recipe-4-pgadmin4/</link><pubDate>Fri, 22 Mar 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-4-pgadmin4/</guid><description>Запускаем pgAdmin4 рядом с кластером CloudNativePG в режиме desktop одной командой плагина cnpg для evaluation/demo/учебных задач.</description></item><item><title>Рецепт 5. Миграция PostgreSQL в Kubernetes с ~0 downtime</title><link>https://notes.melancholic.tech/projects/recipe-5-zero-downtime-migration/</link><pubDate>Wed, 27 Mar 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-5-zero-downtime-migration/</guid><description>Как через логическую репликацию и плагин cnpg перевезти PostgreSQL из RDS, виртуалки или другого Kubernetes-оператора в CloudNativePG практически без простоя приложения.</description></item><item><title>Рецепт 6. Вертикальное масштабирование Postgres со storage. Часть 1</title><link>https://notes.melancholic.tech/projects/recipe-6-vertical-scaling-part-1/</link><pubDate>Mon, 08 Apr 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-6-vertical-scaling-part-1/</guid><description>Часть 1 истории про вертикальное масштабирование Postgres в Kubernetes: отдельный volume для WAL, временные tablespaces, разделение I/O для таблиц и индексов.</description></item><item><title>Рецепт 7. Вертикальное масштабирование Postgres со storage. Часть 2</title><link>https://notes.melancholic.tech/projects/recipe-7-vertical-scaling-part-2/</link><pubDate>Tue, 16 Apr 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-7-vertical-scaling-part-2/</guid><description>Часть 2: горизонтальное партиционирование таблиц в PostgreSQL и связка с tablespaces для разнесения горячих и холодных данных по разным storage-классам.</description></item><item><title>Рецепт 8. Тестируем PostgreSQL 17 в Kubernetes</title><link>https://notes.melancholic.tech/projects/recipe-8-pg17-testing/</link><pubDate>Mon, 10 Jun 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-8-pg17-testing/</guid><description>Поднимаем кластер CloudNativePG на бета-образах PostgreSQL 17 для участия в тестировании major-релиза. Подходит и как шаблон для тестов будущих версий.</description></item><item><title>Kubernetes исполнилось 10: где сейчас PostgreSQL?</title><link>https://notes.melancholic.tech/projects/kubernetes-turned-ten/</link><pubDate>Tue, 25 Jun 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/kubernetes-turned-ten/</guid><description>Десятилетие Kubernetes глазами автора CloudNativePG: почему БД переезжают в Kubernetes, чем оператор отличается от голых VM, что нужно DBA, инфраструктурным и продуктовым командам.</description></item><item><title>Делаю мир моей единой точкой отказа на PostgreSQL</title><link>https://notes.melancholic.tech/projects/world-single-point-of-failure/</link><pubDate>Thu, 27 Jun 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/world-single-point-of-failure/</guid><description>CloudNativePG 1.24 умеет декларативный switchover между Kubernetes-кластерами в разных регионах через demotion/promotion-токены. Разбор на примере банка с двумя ЦОДами в Европе.</description></item><item><title>Рецепт 9. Сеть и storage в кластере CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-9-network-storage/</link><pubDate>Tue, 09 Jul 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-9-network-storage/</guid><description>Какие Service&amp;rsquo;ы и PVC создаёт CloudNativePG для PostgreSQL-кластера: -rw / -ro / -r сервисы, label-selector для primary, PVC для PGDATA / WAL / tablespaces.</description></item><item><title>Рецепт 10. Симуляция продакшн-среды PostgreSQL в Kubernetes с помощью Kind</title><link>https://notes.melancholic.tech/projects/recipe-10-kind-multi-node/</link><pubDate>Wed, 14 Aug 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-10-kind-multi-node/</guid><description>Как создать многонодовый Kubernetes-кластер в Kind с выделенными узлами для PostgreSQL, используя node labels и nodeSelector для изоляции рабочих нагрузок.</description></item><item><title>Рецепт 11. Изоляция PostgreSQL-нагрузок в Kubernetes с Kind</title><link>https://notes.melancholic.tech/projects/recipe-11-workload-isolation/</link><pubDate>Fri, 16 Aug 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-11-workload-isolation/</guid><description>Как использовать taints, tolerations и pod anti-affinity для полной изоляции PostgreSQL-инстансов на выделенных узлах Kubernetes — поверх node labels из Рецепта 10.</description></item><item><title>Рецепт 12. Доступ к PostgreSQL извне Kubernetes через Service Templates</title><link>https://notes.melancholic.tech/projects/recipe-12-service-templates/</link><pubDate>Mon, 26 Aug 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-12-service-templates/</guid><description>Как использовать managed services и service templates в CloudNativePG 1.24 для создания LoadBalancer-сервиса и подключения к PostgreSQL извне кластера Kubernetes.</description></item><item><title>Рецепт 13. Настройка синхронной репликации PostgreSQL</title><link>https://notes.melancholic.tech/projects/recipe-13-synchronous-replication/</link><pubDate>Tue, 10 Sep 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-13-synchronous-replication/</guid><description>Как настроить синхронную репликацию в CloudNativePG 1.24: quorum-based и priority-based методы, synchronous_commit и баланс между долговечностью данных и производительностью.</description></item><item><title>Рецепт 14. Полезные CLI-утилиты для CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-14-cli-tools/</link><pubDate>Fri, 11 Oct 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-14-cli-tools/</guid><description>Три CLI-утилиты, которые сильно ускоряют ежедневную работу с CloudNativePG: view-secret для расшифровки secret&amp;rsquo;ов, view-cert для инспекции TLS-сертификатов и stern для одновременного просмотра логов с нескольких подов.</description></item><item><title>Рецепт 15. Major-апгрейды PostgreSQL онлайн через логическую репликацию</title><link>https://notes.melancholic.tech/projects/recipe-15-major-online-upgrades/</link><pubDate>Wed, 11 Dec 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-15-major-online-upgrades/</guid><description>Декларативный online major-апгрейд PostgreSQL 15 → 17 средствами CloudNativePG 1.25: новые ресурсы Publication и Subscription, импорт схемы через bootstrap, проверка синхронизации данных.</description></item><item><title>Рецепт 16. Баланс между durability и self-healing в синхронной репликации</title><link>https://notes.melancholic.tech/projects/recipe-16-data-durability-self-healing/</link><pubDate>Thu, 26 Dec 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-16-data-durability-self-healing/</guid><description>Новая опция dataDurability в CloudNativePG 1.25: required vs preferred. Как мигрировать с deprecated minSyncReplicas / maxSyncReplicas без потери self-healing.</description></item><item><title>Иммутабельное будущее расширений PostgreSQL в Kubernetes</title><link>https://notes.melancholic.tech/projects/immutable-future-extensions/</link><pubDate>Mon, 03 Mar 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/immutable-future-extensions/</guid><description>Как PostgreSQL extension_control_path и Kubernetes ImageVolume вместе решают проблему расширений в иммутабельных контейнерах: расширения как отдельные OCI-образы, монтируемые декларативно через CloudNativePG.</description></item><item><title>Рецепт 17. In-place major-апгрейды PostgreSQL через pg_upgrade</title><link>https://notes.melancholic.tech/projects/recipe-17-in-place-major-upgrades/</link><pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-17-in-place-major-upgrades/</guid><description>CloudNativePG 1.26: декларативный in-place major-апгрейд PostgreSQL. Меняешь imageName в манифесте — оператор сам прогоняет pg_upgrade &amp;ndash;link. Тест на 2.2 ТБ: апгрейд за 33 секунды.</description></item><item><title>Рецепт 18. pgvector в Kubernetes через CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-18-pgvector/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-18-pgvector/</guid><description>Декларативная установка pgvector в PostgreSQL-кластер на Kubernetes через ресурс Database из CloudNativePG. Без ручного CREATE EXTENSION.</description></item><item><title>Рецепт 19. Тонкий контроль старта Postgres через startup probes</title><link>https://notes.melancholic.tech/projects/recipe-19-startup-probes/</link><pubDate>Tue, 17 Jun 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-19-startup-probes/</guid><description>CloudNativePG 1.26: расширенные startup-пробы для Postgres. Базовый и продвинутый режимы, стратегии pg_isready / query / streaming, контроль допустимого лага через maximumLag.</description></item><item><title>Рецепт 20. Тонкий контроль кластеров Postgres через readiness probes</title><link>https://notes.melancholic.tech/projects/recipe-20-readiness-probes/</link><pubDate>Wed, 25 Jun 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-20-readiness-probes/</guid><description>CloudNativePG 1.26: расширенные readiness-пробы. Стратегии pg_isready / query / streaming, тонкая настройка для реплик с maximumLag, опасность flapping при синхронной репликации.</description></item><item><title>Рецепт 21. Тонкий контроль кластеров Postgres через liveness probes</title><link>https://notes.melancholic.tech/projects/recipe-21-liveness-probes/</link><pubDate>Fri, 15 Aug 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-21-liveness-probes/</guid><description>CloudNativePG 1.27: liveness-пробы для PostgreSQL. Новый primary isolation check уменьшает окно split-brain до ~30 секунд через built-in аналог Patroni failsafe mode — без внешних зависимостей.</description></item><item><title>PostgreSQL 18 в Kubernetes уже сегодня — через CloudNativePG</title><link>https://notes.melancholic.tech/projects/pg18-on-kubernetes/</link><pubDate>Fri, 26 Sep 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/pg18-on-kubernetes/</guid><description>PostgreSQL 18 вышел 25 сентября 2025: async I/O, B-tree skip scans, OAuth 2.0, extension_control_path. Минимальный образ — на 45% меньше, чем для 17. Деплой через CloudNativePG в три шага.</description></item><item><title>Рецепт 22. Новый supply chain и image catalogs CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-22-supply-chain-image-catalogs/</link><pubDate>Mon, 06 Oct 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-22-supply-chain-image-catalogs/</guid><description>Уход с Docker Hub postgres на собственный supply chain CloudNativePG: Snyk, cosign-подписи, SBOM, multi-arch. Image Catalogs позволяют декларативно управлять PostgreSQL-образами в кластерах без жёстких имён. Spread upgrades для парков БД.</description></item><item><title>Рецепт 23. Управление расширениями через ImageVolume в CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-23-extensions-imagevolume/</link><pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-23-extensions-imagevolume/</guid><description>Реальная практика того, что обещали в «Иммутабельном будущем расширений»: PostgreSQL 18 + Kubernetes ImageVolume + CloudNativePG 1.27. Расширения — отдельные OCI-образы (pgvector ~613KB), монтируются в минимальный operand (260MB) без пересборки. Полный пример с pgvector и PostGIS.</description></item><item><title>Рецепт 24. Миграция из Crunchy PGO в PostgreSQL 18 с CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-24-migrate-from-pgo/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-24-migrate-from-pgo/</guid><description>Пошаговое руководство по миграции кластера PostgreSQL 17 под управлением Crunchy PGO v6 на PostgreSQL 18 под управлением CloudNativePG. Рассматриваются два пути: офлайн-миграция через pg_dump и онлайн-миграция через логическую репликацию.</description></item><item><title>Рецепт 25. Декларативные роли и беспарольный TLS в CloudNativePG 1.30</title><link>https://notes.melancholic.tech/projects/recipe-25-declarative-roles-passwordless-tls/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-25-declarative-roles-passwordless-tls/</guid><description>CloudNativePG 1.30: новый CRD DatabaseRole выносит роли из спеки Cluster в отдельный namespaced-ресурс, а встроенная выдача TLS-клиентских сертификатов позволяет подключаться к PostgreSQL вообще без паролей. Полный рабочий пример с pg_hba и cert-аутентификацией.</description></item></channel></rss>