User Tools

Site Tools


все_что_должен_знать_devops_про_postgresql

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
все_что_должен_знать_devops_про_postgresql [2025/05/13 13:26]
val [Шаг 2. Использование PostgreSQL с Docker]
все_что_должен_знать_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
  
 ===== Методическая подготовка ===== ===== Методическая подготовка =====
  
   * Система Kubernetes (4Gb на узел) и [[Система Kubernetes#​rancher local-path-provisioner]] (default-class)   * Система Kubernetes (4Gb на узел) и [[Система Kubernetes#​rancher local-path-provisioner]] (default-class)
-  * [[Система Kubernetes#​Добавление узла через Kubespray]] !!! 4Gb+  * [[Система Kubernetes#​Добавление узла через Kubespray]] !!! 4Gb и в haproxy !!!
  
   * ingress-nginx с use-forwarded-headers ([[Система Kubernetes#​Работа с готовыми Charts]])   * ingress-nginx с use-forwarded-headers ([[Система Kubernetes#​Работа с готовыми Charts]])
   * 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
  
   * Развернуть сервис PostgreSQL в [[Сервис PostgreSQL#​Kubernetes]] ​   * Развернуть сервис PostgreSQL в [[Сервис PostgreSQL#​Kubernetes]] ​
-  * Подключиться через [[Сервис PostgreSQL#​Клиент psql]] ​и создать объекты для сервиса Keycloak (можно сделать [[Сервис PostgreSQL#​pg_restore]]) +  * Выполнить [[Сервис PostgreSQL#​pg_restore]]) 
-  * Развернуть Keycloak в [[Сервис Keycloak#​Kubernetes]],​ добавить запись в DNS, подключиться через [[Решение HAProxy]] с clientN ​и провести или проверить [[Сервис Keycloak#​Базовая конфигурация]]+  * Развернуть Keycloak в [[Сервис Keycloak#​Kubernetes]],​ добавить запись в DNS, подключиться через [[Решение HAProxy]] с clientN и проверить [[Сервис Keycloak#​Базовая конфигурация]]
  
   * Развернуть на server [[Сервис PostgreSQL#​Клиент pgadmin]] и подключить к PostgreSQL в [[Сервис PostgreSQL#​Kubernetes]] через port-forward   * Развернуть на server [[Сервис PostgreSQL#​Клиент pgadmin]] и подключить к PostgreSQL в [[Сервис PostgreSQL#​Kubernetes]] через port-forward
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-м шаге ​
все_что_должен_знать_devops_про_postgresql.1747131965.txt.gz · Last modified: 2025/05/13 13:26 by val