This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
работа_с_хранилищами_в_kubernetes [2024/04/09 17:00] val [5.3 Использование backup-ов] |
работа_с_хранилищами_в_kubernetes [2025/02/18 06:58] (current) val [Запись вебинара] |
||
|---|---|---|---|
| Line 15: | Line 15: | ||
| ===== Запись вебинара ===== | ===== Запись вебинара ===== | ||
| - | * Будет здесь!!! | + | * [[https://youtu.be/-5_XB4EcU9s]] |
| + | * [[https://rutube.ru/video/9c55de0f39d761d569761d2f553e0f61/]] | ||
| * Тэги: Kubernetes, Keycloak, OpenID, PersistentVolume, PersistentVolumeClaim, rancher, local-path-provisioner, longhorn | * Тэги: Kubernetes, Keycloak, OpenID, PersistentVolume, PersistentVolumeClaim, rancher, local-path-provisioner, longhorn | ||
| - | |||
| ===== Методическая подготовка ===== | ===== Методическая подготовка ===== | ||
| * Продолжение вебинаров [[Практические примеры Keycloak]] и [[Доступ к приложениям в Bare-Metal Kubernetes]] | * Продолжение вебинаров [[Практические примеры Keycloak]] и [[Доступ к приложениям в Bare-Metal Kubernetes]] | ||
| - | ===== Шаг 1. Подготовка ===== | + | ===== Шаг 1. Подготовка (сделано заранее) ===== |
| * Выключаем тестовый кластер (node) через [[Технология Vagrant]] | * Выключаем тестовый кластер (node) через [[Технология Vagrant]] | ||
| - | * Устанавливаем 4GB для узлов кластера kube (попробовать 6144MB) | + | |
| + | * Выключаем kube кластер, устанавливаем 4GB для узлов, включаем | ||
| ===== Шаг 2. Использование статических PV для приложений с PVC ===== | ===== Шаг 2. Использование статических PV для приложений с PVC ===== | ||
| Line 58: | Line 59: | ||
| * Удаляем Keycloak из [[Сервис Keycloak#Kubernetes]] (можно ns), его PV и файлы удалятся автоматически | * Удаляем Keycloak из [[Сервис Keycloak#Kubernetes]] (можно ns), его PV и файлы удалятся автоматически | ||
| - | * Удаляем [[Система Kubernetes#rancher local-path-provisioner]] (лучше полностью, иначе останется sc) | + | * Удаляем [[Система Kubernetes#rancher local-path-provisioner]] (лучше полностью, иначе, останется sc) |
| ===== Шаг 5. Использование распределенного блочного хранилища longhorn ===== | ===== Шаг 5. Использование распределенного блочного хранилища longhorn ===== | ||
| Line 64: | Line 65: | ||
| ==== 5.1 Dynamic Volume Provisioning и отказоустойчивость ==== | ==== 5.1 Dynamic Volume Provisioning и отказоустойчивость ==== | ||
| - | * Устанавливаем [[Система Kubernetes#longhorn]] (open-iscsi на kube4 тоже) (5 минут) | + | * Устанавливаем [[Система Kubernetes#longhorn]] (open-iscsi и на kube4 тоже) (5 минут) |
| * Указываем storageClass: longhorn и postgresql в values.yaml и устанавливаем Keycloak в [[Сервис Keycloak#Kubernetes]] (10 минут) | * Указываем storageClass: longhorn и postgresql в values.yaml и устанавливаем Keycloak в [[Сервис Keycloak#Kubernetes]] (10 минут) | ||
| * Подключаемся к UI и настраиваем Pod Deletion Policy When Node is Down: delete-statefuset-pod | * Подключаемся к UI и настраиваем Pod Deletion Policy When Node is Down: delete-statefuset-pod | ||
| Line 71: | Line 72: | ||
| * Выключаем узел, на котором развернулся postgresql Keycloak (обычно kube3) | * Выключаем узел, на котором развернулся postgresql Keycloak (обычно kube3) | ||
| * Дожидаемся восстановления работоспособность KK создаем пользователя | * Дожидаемся восстановления работоспособность KK создаем пользователя | ||
| + | <code> | ||
| + | kube1# kubectl -n my-keycloak-ns logs pods/my-keycloak-1 -f | grep VALIDATION | ||
| + | </code> | ||
| * Проводим [[Система Kubernetes#Удаление узла]] через kubeadm | * Проводим [[Система Kubernetes#Удаление узла]] через kubeadm | ||
| * Запускаем процесс [[Система Kubernetes#Добавление узла через Kubespray]] (замена kube3 на kube4) и наблюдаем поведение longhorn (20 минут) | * Запускаем процесс [[Система Kubernetes#Добавление узла через Kubespray]] (замена kube3 на kube4) и наблюдаем поведение longhorn (20 минут) | ||
| Line 84: | Line 87: | ||
| * Выполняем [[Система Kubernetes#Использование backup-ов]] в longhorn | * Выполняем [[Система Kubernetes#Использование backup-ов]] в longhorn | ||
| - | * Включаем тестовый кластер (node) через [[Технология Vagrant]] (в Vagrantfile указать 4ГБ ОЗУ) | + | !!! В классе, если нет второго кластера, можно удалить приложение |
| - | * Устанавливаем [[Система Kubernetes#longhorn]] (5 минут) | + | <code> |
| - | * Технология Vagrant [[Технология Vagrant#Provision с использованием внешних скриптов]] | + | kube1:~# kubectl delete ns my-keycloak-ns |
| + | </code> | ||
| + | и восстановить на этом же кластере !!! | ||
| - | * Подключаемся через UI | + | * (НЕ ОБЯЗАТЕЛЬНО) Можно выключить kube кластер |
| - | * Через [[Система Kubernetes#Использование backup-ов]] восстанавливаем Volume (количество реплик = 2) | + | |
| + | * (НЕ ОБЯЗАТЕЛЬНО) Включаем тестовый кластер (node) через [[Технология Vagrant]] (в Vagrantfile указать 4ГБ ОЗУ) | ||
| + | * (НЕ ОБЯЗАТЕЛЬНО) Устанавливаем [[Система Kubernetes#longhorn]] (5 минут) | ||
| + | * (НЕ ОБЯЗАТЕЛЬНО) Технология Vagrant [[Технология Vagrant#Provision с использованием внешних скриптов]] | ||
| + | |||
| + | * (НЕ ОБЯЗАТЕЛЬНО) | ||
| + | <code> | ||
| + | $ scp root@192.168.13.201:.kube/config ~/.kube/ | ||
| + | </code> | ||
| + | * (УЖЕ ПОДКЛЮЧЕНЫ) Подключаемся через UI [[Система Kubernetes#longhorn]] | ||
| + | |||
| + | * Через [[Система Kubernetes#Использование backup-ов]] восстанавливаем Volume (<del>количество реплик = 2</del>) | ||
| + | |||
| + | * (НЕ ОБЯЗАТЕЛЬНО) Правим конфигурацию [[Система Kubernetes#Baremetal ingress-nginx-controller]] (ValidatingWebhookConfiguration, use-forwarded-headers) | ||
| + | * (МОЖНО ОСТАВИТЬ СТАРУЮ КОНФИГУРАЦИЮ) Устанавливаем Keycloak в [[Сервис Keycloak#Kubernetes]] (не указываем количество реплик) | ||
| + | * (НЕ ОБЯЗАТЕЛЬНО) Правим настройки [[Решение HAProxy]] | ||
| + | |||
| + | * Дожидаемся загрузки Keycloak в [[Сервис Keycloak#Kubernetes]] кластере <del>node</del> kube | ||
| + | |||
| + | ===== Вопросы? ===== | ||
| - | * Правим конфигурацию [[Система Kubernetes#Baremetal ingress-nginx-controller]] | + | ===== Дополнительные материалы ===== |
| - | * Устанавливаем Keycloak в [[Сервис Keycloak#Kubernetes]] (не указываем количество реплик КК) | + | |
| - | * Правим настройки HAProxy | + | |
| - | ===== Как все вернуть обратно ===== | + | ==== Как все вернуть обратно ==== |
| <code> | <code> | ||
| Line 108: | Line 130: | ||
| $ cp .kube/config_kube .kube/config | $ cp .kube/config_kube .kube/config | ||
| </code> | </code> | ||
| - | |||
| - | ===== Вопросы? ===== | ||
| - | |||
| - | |||