User Tools

Site Tools


devops2._использование_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
devops2._использование_kubernetes [2024/02/24 11:50]
val [Лабораторные работы: Разработка и CI приложения]
devops2._использование_kubernetes [2024/10/28 14:14] (current)
val [Лабораторные работы: CD приложения]
Line 29: Line 29:
  
 cd cd
 +
 +test -d conf && rm -r conf
  
 git clone http://​val.bmstu.ru/​unix/​conf.git git clone http://​val.bmstu.ru/​unix/​conf.git
Line 109: Line 111:
  
 ==== Вопросы ==== ==== Вопросы ====
 +
 +
  
 ===== Модуль 3: Развертывание кластера через Kubespray ===== ===== Модуль 3: Развертывание кластера через Kubespray =====
Line 154: Line 158:
   * Создаем и подключаемся учетной записью student ([[Инструмент GitLab#​Управление пользователями]] GitLab)   * Создаем и подключаемся учетной записью student ([[Инструмент GitLab#​Управление пользователями]] GitLab)
   * Можно использовать ключи ssh ([[Сервис SSH#​Настройка ssh клиента]])   * Можно использовать ключи ssh ([[Сервис SSH#​Настройка ssh клиента]])
-  * Создаем новый публичный проект без Readme и копируем инструкции из подсказки+  * Создаем новый публичный проект ​gowebd ​без Readme и копируем инструкции из подсказки
   * Перед git push... отключаем Auto DevOps и !!! проверить еще раз после push   * Перед git push... отключаем Auto DevOps и !!! проверить еще раз после push
   * [[Сервис Git#​Обновление сетевого репозитория из локального]]   * [[Сервис Git#​Обновление сетевого репозитория из локального]]
 +
   * [[Инструмент GitLab#​GitLab Docker Registry]]   * [[Инструмент GitLab#​GitLab Docker Registry]]
   * Docker [[Технология Docker#​Insecure Private Registry]] на client1 для проверки,​ можно использовать подсказки из раздела container_registry а затем удалить образ из GitLab   * Docker [[Технология Docker#​Insecure Private Registry]] на client1 для проверки,​ можно использовать подсказки из раздела container_registry а затем удалить образ из GitLab
 +
   * [[Инструмент GitLab#​Установка в виде контейнера]] gitlab-runner на gate   * [[Инструмент GitLab#​Установка в виде контейнера]] gitlab-runner на gate
-  * Включаем [[Технология Docker#​Insecure Private Registry]] (можно [[Сервис SSH#SCP]] c client1), копируем "​Registration token" для [[Инструмент GitLab#​Регистрация DooD]] +  * Включаем [[Технология Docker#​Insecure Private Registry]] (можно [[Сервис SSH#SCP]] c client1), копируем "​Registration token" для ​gitlab-runner в режиме ​[[Инструмент GitLab#​Регистрация DooD]] 
-  * Добавляем в проект [[Инструмент GitLab#​Пример CI с использованием контейнеров]] и используем Git тэги ([[Сервис Git#​Обновление сетевого репозитория из локального]]) для Docker образов+ 
 +  * Добавляем в проект [[Инструмент GitLab#​Пример CI с использованием контейнеров]] и используем Git тэги ([[Сервис Git#​Обновление сетевого репозитория из локального]]) для ​сборки ​Docker образов 
   * Останавливаем,​ очищаем конфигурацию [[Инструмент GitLab#​Установка в виде контейнера]] gitlab-runner на gate   * Останавливаем,​ очищаем конфигурацию [[Инструмент GitLab#​Установка в виде контейнера]] gitlab-runner на gate
   * Удаляем Runner в GitLab   * Удаляем Runner в GitLab
   * [[Технология Docker#​Обзор и удаление]] образов gowebd c gate (может понадобиться -f)   * [[Технология Docker#​Обзор и удаление]] образов gowebd c gate (может понадобиться -f)
   * Отключаем [[Технология Docker#​Insecure Private Registry]]   * Отключаем [[Технология Docker#​Insecure Private Registry]]
 +
   * Повторяем [[Инструмент GitLab#​Установка в виде контейнера]] gitlab-runner на gate   * Повторяем [[Инструмент GitLab#​Установка в виде контейнера]] gitlab-runner на gate
-  * Копируем "​Registration token" для [[Инструмент GitLab#​Регистрация DinD]]+  * Копируем "​Registration token" для ​gitlab-runner в режиме ​[[Инструмент GitLab#​Регистрация DinD]]
   * Добавляем необходимые для DinD элементы конфигурации в [[Инструмент GitLab#​Пример CI с использованием контейнеров]]   * Добавляем необходимые для DinD элементы конфигурации в [[Инструмент GitLab#​Пример CI с использованием контейнеров]]
  
Line 201: Line 210:
   * Использование [[Система Kubernetes#​Управление дополнениями через Kubespray]] для включения Ingress   * Использование [[Система Kubernetes#​Управление дополнениями через Kubespray]] для включения Ingress
   * [[Пакет OpenSSL#​Создание самоподписанного сертификата]] (gowebd без altdns)   * [[Пакет OpenSSL#​Создание самоподписанного сертификата]] (gowebd без altdns)
-  * [[Система Kubernetes#ingress-tls]]+  * [[Система Kubernetes#secrets ​tls]]
  
 === 5.2 GitOps === === 5.2 GitOps ===
Line 213: Line 222:
   * Создаем каталог gowebd-k8s пользователем gitlab-runner,​ [[Инструмент GitLab#​Пример shell Kubernetes]],​ service и ingress можно оставить из лаборатороной работы 5.1   * Создаем каталог gowebd-k8s пользователем gitlab-runner,​ [[Инструмент GitLab#​Пример shell Kubernetes]],​ service и ingress можно оставить из лаборатороной работы 5.1
   * Настраиваем stage deploy через envsubst ([[Инструмент GitLab#​Пример shell Kubernetes]],​ см. выше)   * Настраиваем stage deploy через envsubst ([[Инструмент GitLab#​Пример shell Kubernetes]],​ см. выше)
-  * Создаем проект gowebd-k8s ​(что-бы не "​возиться"​ с ключами ssh, указать:​ git remote add origin http://​server.corpX.un/​student/​gowebd-k8s.git)+  * Создаем проект gowebd-k8sчто-бы не "​возиться"​ с ключами ssh, указать: ​ 
 +<​code>​ 
 +gitlab-runner@server:​~/​gowebd-k8s$ ​git remote add origin http://​server.corpX.un/​student/​gowebd-k8s.git 
 +</​code>​
   * Проводим [[Инструмент GitLab#​Регистрация]] gitlab runner в этом проекте (вариант из командной строки)   * Проводим [[Инструмент GitLab#​Регистрация]] gitlab runner в этом проекте (вариант из командной строки)
   * Настраиваем зависимость между проектами через stage deploy в [[Инструмент GitLab#​Пример CI с использованием контейнеров]]   * Настраиваем зависимость между проектами через stage deploy в [[Инструмент GitLab#​Пример CI с использованием контейнеров]]
Line 228: Line 240:
   * [[Система Kubernetes#​Установка Helm]]   * [[Система Kubernetes#​Установка Helm]]
   * Использование [[Система Kubernetes#​Управление дополнениями через Kubespray]] для включения Helm   * Использование [[Система Kubernetes#​Управление дополнениями через Kubespray]] для включения Helm
-  * [[Система Kubernetes#​Развертывание своего приложения]]+  * [[Система Kubernetes#​Развертывание своего приложения]] ​(webd-chart с образом gowebd)
   * Настраиваем stage deploy через helm ([[Инструмент GitLab#​Пример shell Kubernetes]],​ см. выше)   * Настраиваем stage deploy через helm ([[Инструмент GitLab#​Пример shell Kubernetes]],​ см. выше)
   * [[Система Kubernetes#​Работа со своим репозиторием]] для развертывания приложения на kube кластере   * [[Система Kubernetes#​Работа со своим репозиторием]] для развертывания приложения на kube кластере
Line 244: Line 256:
  
 === 5.4 ArgoCD === === 5.4 ArgoCD ===
 +
 +!!! ВНИМАНИЕ !!! Вместо 9-го фрагмента записи (его лучше просто просмотреть) рекомендую выполнить лабораторные работы из вебинара [[https://​rutube.ru/​video/​356186164509624a323079127c4bd690/​|Доступ к приложениям в Bare-Metal Kubernetes]],​ там есть все что нужно, плюс, много дополнительного материала !!!
  
   * [[Система Kubernetes#​Работа со своим репозиторием]] для удаления приложения с kube кластера   * [[Система Kubernetes#​Работа со своим репозиторием]] для удаления приложения с kube кластера
Line 249: Line 263:
   * Используем [[Контроллер ArgoCD]] на kube кластере для деплоя приложения   * Используем [[Контроллер ArgoCD]] на kube кластере для деплоя приложения
  
 +=== 5.5 Работа с хранилищами в Kubernetes ===
 +
 +!!! Если есть "​настрой",​ можно выполнить лабораторные работы из этого вебинара:​
 +
 +  * [[https://​rutube.ru/​video/​9c55de0f39d761d569761d2f553e0f61/​|Работа с хранилищами в Kubernetes]]
 +
 +=== 5.6 Обновление кластера Kubernetes ===
 +
 +!!! Если Вы "​еще здесь"​)),​ есть можно выполнить лабораторные работы из этого вебинара:​
 +
 +  * [[https://​rutube.ru/​video/​1b0cde4db02403e1e2a8a79cafda4131/​|Обновление кластера Kubernetes]]
  
 ==== Вопросы ==== ==== Вопросы ====
devops2._использование_kubernetes.1708764613.txt.gz · Last modified: 2024/02/24 11:50 by val