This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
все_что_должен_знать_devops_про_postgresql [2025/05/13 20:51] val [Шаг 4. Использование CloudNativePG] |
все_что_должен_знать_devops_про_postgresql [2025/05/16 12:00] (current) val [Запись вебинара] |
||
---|---|---|---|
Line 16: | Line 16: | ||
===== Запись вебинара ===== | ===== Запись вебинара ===== | ||
- | * Тэги: PostgreSQ, Kubernetes, CloudNativePG | + | * https://youtu.be/cOZDowgRPwY |
+ | * https://rutube.ru/video/private/151d3c5e41168ada2155847351f58dce/ | ||
+ | * Тэги: PostgreSQL, Kubernetes, CloudNativePG | ||
===== Методическая подготовка ===== | ===== Методическая подготовка ===== | ||
Line 26: | Line 28: | ||
* haproxy | * haproxy | ||
+ | ===== Шаг 1. Что у нас есть для начала ===== | ||
- | ===== Шаг 1. Знакомимся с PostgreSQL ===== | + | * [[Практические примеры Keycloak]] |
+ | * [[Видео уроки]] | ||
+ | |||
+ | |||
+ | ===== Шаг 2. Знакомимся с PostgreSQL ===== | ||
* Развернуть PostgreSQL baremetal на [[Сервис PostgreSQL#Linux Debian/Ubuntu]] на gate | * Развернуть PostgreSQL baremetal на [[Сервис PostgreSQL#Linux Debian/Ubuntu]] на gate | ||
Line 43: | Line 50: | ||
* Обсудить [[Сервис PostgreSQL#Barman]] | * Обсудить [[Сервис PostgreSQL#Barman]] | ||
- | ===== Шаг 2. Использование PostgreSQL с Docker ===== | + | ===== Шаг 3. Использование PostgreSQL с Docker ===== |
* !!! Обсудить и предложить сделать самостоятельно !!! | * !!! Обсудить и предложить сделать самостоятельно !!! | ||
* Развернуть сервис PostgreSQL в [[Сервис PostgreSQL#Docker]] совместно с Keycloak, через [[Сервис Keycloak#docker-compose]] (без ssl) | * Развернуть сервис PostgreSQL в [[Сервис PostgreSQL#Docker]] совместно с Keycloak, через [[Сервис Keycloak#docker-compose]] (без ssl) | ||
- | ===== Шаг 3. Использование PostgreSQL в Kubernetes ===== | + | ===== Шаг 4. Использование PostgreSQL в Kubernetes ===== |
* Для демонстрации можно использовать [[Система Kubernetes#rancher local-path-provisioner]] как default-class | * Для демонстрации можно использовать [[Система Kubernetes#rancher local-path-provisioner]] как default-class | ||
Line 65: | Line 72: | ||
</code> | </code> | ||
- | ===== Шаг 4. Использование CloudNativePG ===== | + | ===== Шаг 5. Использование CloudNativePG ===== |
* Добавить оператор [[Сервис PostgreSQL#CloudNativePG]] в кластер Kubernetes | * Добавить оператор [[Сервис PostgreSQL#CloudNativePG]] в кластер Kubernetes | ||
Line 72: | Line 79: | ||
* Развернуть и проверить работу S3 [[Сервис MinIO]] | * Развернуть и проверить работу S3 [[Сервис MinIO]] | ||
- | * Настроить [[Сервис PostgreSQL#CloudNativePG Backup]] в него | + | * Настроить [[Сервис PostgreSQL#CloudNativePG Backup]] в него, (immediate Backup проводить после появления в архиве wal файлов, проверить наличие требуемых из backup.info) |
* Восстановить базу Keycloak из [[Сервис PostgreSQL#pg_dumpall]] | * Восстановить базу Keycloak из [[Сервис PostgreSQL#pg_dumpall]] | ||
* Настроить Keycloak в [[Сервис Keycloak#Kubernetes]] на работу с [[Сервис PostgreSQL#CloudNativePG]] | * Настроить Keycloak в [[Сервис Keycloak#Kubernetes]] на работу с [[Сервис PostgreSQL#CloudNativePG]] | ||
- | * Используя [[Сервис PostgreSQL#Плагин cnpg]], проверить отказоустойчивость, при выходе из строя и [[Система Kubernetes#Удаление узла]] | + | === Выход из строя Primary узла === |
+ | |||
+ | * [[Система Kubernetes#Удаление узла]] | ||
<code> | <code> | ||
kube1# kubectl cnpg status my-pgcluster -n my-pgcluster-ns | kube1# kubectl cnpg status my-pgcluster -n my-pgcluster-ns | ||
Line 88: | Line 98: | ||
</code> | </code> | ||
- | * Использовать [[Сервис PostgreSQL#CloudNativePG Recovery]] для восстановления кластера [[Сервис PostgreSQL#CloudNativePG]] для приложения Keycloak из резервной копии S3 [[Сервис MinIO]] | + | === Выход из строя всего кластера === |
<code> | <code> | ||
Line 95: | Line 105: | ||
</code> | </code> | ||
+ | * Использовать [[Сервис PostgreSQL#CloudNativePG Recovery]] для восстановления кластера [[Сервис PostgreSQL#CloudNativePG]] для приложения Keycloak из резервной копии S3 [[Сервис MinIO]] | ||
* Вернуть [[Сервис PostgreSQL#CloudNativePG Backup]] | * Вернуть [[Сервис PostgreSQL#CloudNativePG Backup]] | ||
+ | |||
+ | === Дополнительные возможности === | ||
* Добавить [[Сервис PostgreSQL#CloudNativePG PgBouncer]] и подключить Keycloak в [[Сервис Keycloak#Kubernetes]] через него | * Добавить [[Сервис PostgreSQL#CloudNativePG PgBouncer]] и подключить Keycloak в [[Сервис Keycloak#Kubernetes]] через него | ||
Line 105: | Line 118: | ||
===== Домашнее задание ===== | ===== Домашнее задание ===== | ||
- | * Выполнить все, что решили "обсудить" на 1-м шаге | + | * Выполнить все, что решили "обсудить" на 2-м шаге |