работа_с_хранилищами_в_kubernetes

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
Last revision Both sides next revision
работа_с_хранилищами_в_kubernetes [2024/04/08 12:56]
val [Использование backup-ов]
работа_с_хранилищами_в_kubernetes [2024/04/24 09:20]
val [Запись вебинара]
Line 15: Line 15:
 ===== Запись вебинара ===== ===== Запись вебинара =====
  
-  * Будет здесь!!! +  * [[https://​www.youtube.com/​watch?​v=-5_XB4EcU9s]] ​
-  * Тэги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) 
  
-===== Шаг ​N. Использование статических PV для приложений с PVC =====+  * Выключаем kube кластер,​ устанавливаем 4GB для узлов, включаем 
 + 
 +===== Шаг ​2. Использование статических PV для приложений с PVC =====
  
   * Устанавливаем Keycloak в [[Сервис Keycloak#​Kubernetes]] (10 минут)   * Устанавливаем Keycloak в [[Сервис Keycloak#​Kubernetes]] (10 минут)
Line 37: Line 36:
 </​code>​ </​code>​
  
-===== Шаг ​N. Управление заголовками в HAProxy и Ingress контроллере =====+===== Шаг ​3. Управление заголовками в HAProxy и Ingress контроллере =====
  
   * Устанавливаем [[Chrome]] на client2 ​   * Устанавливаем [[Chrome]] на client2 ​
Line 45: Line 44:
   * Добавляем use-forwarded-headers в конфигурацию [[Система Kubernetes#​ingress-nginx]]   * Добавляем use-forwarded-headers в конфигурацию [[Система Kubernetes#​ingress-nginx]]
  
-===== Шаг ​1. Использование local-path-provisioner для Dynamic Volume Provisioning =====+===== Шаг ​4. Использование local-path-provisioner для Dynamic Volume Provisioning =====
  
   * Удаляем Keycloak из [[Сервис Keycloak#​Kubernetes]] (можно ns), затем "​вручную"​ его [[Система Kubernetes#​Volumes]] и файлы с /disk2   * Удаляем Keycloak из [[Сервис Keycloak#​Kubernetes]] (можно ns), затем "​вручную"​ его [[Система Kubernetes#​Volumes]] и файлы с /disk2
Line 58: Line 57:
  
   * Удаляем Keycloak из [[Сервис Keycloak#​Kubernetes]] (можно ns), его PV и файлы удалятся автоматически ​   * Удаляем Keycloak из [[Сервис Keycloak#​Kubernetes]] (можно ns), его PV и файлы удалятся автоматически ​
-  * Удаляем [[Система Kubernetes#​rancher local-path-provisioner]] (лучше полностью,​ иначе останется sc)+  * Удаляем [[Система Kubernetes#​rancher local-path-provisioner]] (лучше полностью,​ иначеостанется sc)
  
-===== Шаг ​1. Использование распределенного блочного хранилища longhorn =====+===== Шаг ​5. Использование распределенного блочного хранилища longhorn =====
  
-==== 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 70:
   * Выключаем узел, на котором развернулся 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 минут)
  
-==== Использование snapshot-ов ====+==== 5.2 Использование snapshot-ов ====
  
   * Проверяем [[Система Kubernetes#​Использование snapshot-ов]] в longhorn ​   * Проверяем [[Система Kubernetes#​Использование snapshot-ов]] в longhorn ​
  
-==== Использование backup-ов ====+==== 5.3 Использование backup-ов ====
  
   * Разворачиваем [[Сервис NFS]] на server ​   * Разворачиваем [[Сервис NFS]] на server ​
   * Выполняем [[Система Kubernetes#​Использование backup-ов]] в longhorn   * Выполняем [[Система Kubernetes#​Использование backup-ов]] в longhorn
 +
 +  * Можно выключить kube кластер ​
  
   * Включаем тестовый кластер (node) через [[Технология Vagrant]] (в Vagrantfile указать 4ГБ ОЗУ)   * Включаем тестовый кластер (node) через [[Технология Vagrant]] (в Vagrantfile указать 4ГБ ОЗУ)
-  * Устанавливаем [[Система Kubernetes#​longhorn]] (open-iscsi ​на node2 и node3 тоже) (5 минут)+  * Устанавливаем [[Система Kubernetes#​longhorn]] (5 минут) 
 +  * Технология Vagrant [[Технология Vagrant#​Provision с использованием внешних скриптов]] 
 + 
 +<​code>​ 
 +$ scp root@192.168.13.201:​.kube/​config ~/.kube/ 
 +</​code>​ 
 +  * Подключаемся через UI [[Система Kubernetes#​longhorn]] 
  
-  * Подключаемся через UI 
   * Через [[Система Kubernetes#​Использование backup-ов]] восстанавливаем Volume (количество реплик = 2)   * Через [[Система Kubernetes#​Использование backup-ов]] восстанавливаем Volume (количество реплик = 2)
  
-  * Правим конфигурацию [[Система Kubernetes#​Baremetal ingress-nginx-controller]]+  * Правим конфигурацию [[Система Kubernetes#​Baremetal ingress-nginx-controller]] ​(ValidatingWebhookConfiguration,​ use-forwarded-headers) 
 +  * Устанавливаем Keycloak в [[Сервис Keycloak#​Kubernetes]] (не указываем количество реплик) 
 +  * Правим настройки [[Решение HAProxy]] 
 + 
 +  * Дожидаемся загрузки Keycloak в [[Сервис Keycloak#​Kubernetes]] кластере node 
 + 
 +===== Вопросы?​ =====
  
-  * Устанавливаем Keycloak в [[Сервис Keycloak#​Kubernetes]] (не указываем количество ​реплик КК)+===== Дополнительные материалы =====
  
-===== Как все вернуть обратно ​=====+==== Как все вернуть обратно ====
  
 <​code>​ <​code>​
Line 107: Line 122:
 $ cp .kube/​config_kube .kube/​config $ cp .kube/​config_kube .kube/​config
 </​code>​ </​code>​
-===== Что сделать в следующий раз ===== 
- 
- 
работа_с_хранилищами_в_kubernetes.txt · Last modified: 2024/04/24 09:36 by val