Работа с хранилищами в Kubernetes
Реклама
Kubernetes «из коробки» - отличное средство для запуска и масштабирования stateless (т.е. без сохранения данных) приложений. Сложности начинаются для stateful (т.е. с сохранением данных) приложений, таких как базы данных, например MySQL, PostgreSQL и прочее
На нашем вебинаре мы на практических примерах разберем решения задач хранения данных для приложений, работающих в Kubernetes, начиная с простого продолжения PersistentVolume/PersistentVolumeClaim - rancher/local-path-provisioner и заканчивая отказоустойчивым longhorn
Техническое задание
Развернуть сервис Keycloak с базой данных учетных записей, и приложение, использующее его для OpenID аутентификации, в корпоративном On-Premises Kubernetes.
Убедиться в отказоустойчивости полученного решения, как с точки зрения доступа пользователей, так и хранения данных.
Запись вебинара
-
Тэги: Kubernetes, Keycloak, OpenID, PersistentVolume, PersistentVolumeClaim, rancher, local-path-provisioner, longhorn
Методическая подготовка
Шаг 1. Подготовка (сделано заранее)
Шаг 2. Использование статических PV для приложений с PVC
server.corp13.un:~# cat /etc/bind/corp13.un
...
keycloak A 172.16.1.13
Шаг 3. Управление заголовками в HAProxy и Ingress контроллере
Шаг 4. Использование local-path-provisioner для Dynamic Volume Provisioning
Удаляем Keycloak из
Kubernetes (можно ns), затем “вручную” его
Volumes и файлы с /disk2
-
Указываем storageClass: local-path в values.yaml и устанавливаем Keycloak в
Kubernetes (5m + 3m)
kube3:~# find /opt/local-path-provisioner/
Удаляем Keycloak из
Kubernetes (можно ns), его PV и файлы удалятся автоматически
-
Шаг 5. Использование распределенного блочного хранилища longhorn
5.1 Dynamic Volume Provisioning и отказоустойчивость
Дожидаемся работоспособность KK и создаем realm
Выключаем узел, на котором развернулся postgresql Keycloak (обычно kube3)
Дожидаемся восстановления работоспособность KK создаем пользователя
kube1# kubectl -n my-keycloak-ns logs pods/my-keycloak-1 -f | grep VALIDATION
5.2 Использование snapshot-ов
5.3 Использование backup-ов
$ scp root@192.168.13.201:.kube/config ~/.kube/
-
Устанавливаем Keycloak в
Kubernetes (не указываем количество реплик)
-
Дожидаемся загрузки Keycloak в
Kubernetes кластере node
Вопросы?
Дополнительные материалы
Как все вернуть обратно
student1@CTC-2458F7OHBAL ~/nodes
$ vagrant.exe halt
student1@CTC-2458F7OHBAL ~
$ cp .kube/config_kube .kube/config