Рецепт 1. Локальная песочница за пару минут

Поднимаем локальную песочницу для CloudNativePG за несколько минут: kind для локального Kubernetes, установка оператора, первый PostgreSQL-кластер, плагин cnpg для kubectl.
Опубликовано:

Цель — за несколько минут получить рабочую песочницу: локальный Kubernetes-кластер на ноутбуке + установленный CloudNativePG + первый PostgreSQL-кластер.

Создаём первый Kubernetes-кластер

Автор рекомендует kind (Kubernetes IN Docker): легковесный, поддерживает мультинодовые кластеры, отлично работает в любых окружениях, включая CI/CD.

Проверка установки:

BASH
kind version
Нажмите, чтобы развернуть и увидеть больше

Создание кластера:

BASH
kind create cluster --name cnpg
Нажмите, чтобы развернуть и увидеть больше

По умолчанию создаётся single-node кластер. При необходимости можно настроить несколько нод для тестов распределённого Postgres.

Ставим CloudNativePG

CloudNativePG разворачивается манифестом. Для версии 1.29.0:

BASH
kubectl apply --server-side -f \
  https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg/release-1.29/releases/cnpg-1.29.0.yaml
Нажмите, чтобы развернуть и увидеть больше

Это создаст Deployment cnpg-controller-manager в namespace cnpg-system. Свежие dev-снапшоты также собираются прямо из ветки trunk репозитория.

Создаём первый PostgreSQL-кластер

CloudNativePG идёт по принципу «convention over configuration». Минимальный пример из 3 инстансов:

YAML
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: cluster-example
spec:
  instances: 3

  storage:
    size: 1Gi
Нажмите, чтобы развернуть и увидеть больше

Применяем:

BASH
kubectl apply -f \
  https://cloudnative-pg.io/docs/assets/files/cluster-example-0a961e59ba2e2313c983c3386be1d7e7.yaml
Нажмите, чтобы развернуть и увидеть больше

Оператор поднимет три инстанса PostgreSQL примерно за минуту.

Плагин cnpg для kubectl

В CloudNativePG нет отдельного CLI — вместо этого есть плагин cnpg для kubectl. Главная команда для просмотра состояния кластера:

BASH
kubectl cnpg status cluster-example
Нажмите, чтобы развернуть и увидеть больше

Покажет статус репликации, инстансы, LSN и прочее.

Уборка

BASH
kind delete cluster --name cnpg
Нажмите, чтобы развернуть и увидеть больше

Начать поиск

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

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