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 08:29]
val [Лабораторные работы: CD приложения]
devops2._использование_kubernetes [2024/05/06 10:12] (current)
val [Лабораторные работы: Развертывание стенда]
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 154: Line 156:
   * Создаем и подключаемся учетной записью 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 с использованием контейнеров]]
  
  
 === 4.3 Сборка образа в k8s === === 4.3 Сборка образа в k8s ===
 +
 +8 DEVOPS2
  
   * После того, как пройдем helm   * После того, как пройдем helm
Line 196: Line 205:
   * Демонстрация использования Deployment для управления версиями   * Демонстрация использования Deployment для управления версиями
   * [[Система Kubernetes#​Добавление insecure_registries через Kubespray]]   * [[Система Kubernetes#​Добавление insecure_registries через Kubespray]]
-  * Использование [[Система Kubernetes#​Ingress]] вариант [[Система Kubernetes#​Baremetal ingress-nginx-controller]] в kubeadm кластере+  * Использование [[Система Kubernetes#​Ingress]] вариант [[Система Kubernetes#​Baremetal ingress-nginx-controller]] на [[Система Kubernetes#​ingress example]] в kubeadm кластере
   * Использование [[Система Kubernetes#​Управление дополнениями через Kubespray]] для включения Ingress   * Использование [[Система Kubernetes#​Управление дополнениями через Kubespray]] для включения Ingress
-  * [[Пакет OpenSSL#​Создание самоподписанного сертификата]] +  * [[Пакет OpenSSL#​Создание самоподписанного сертификата]] ​(gowebd без altdns) 
-  * [[Система Kubernetes#ingress-tls]]+  * [[Система Kubernetes#secrets ​tls]]
  
 === 5.2 GitOps === === 5.2 GitOps ===
Line 211: Line 220:
   * Создаем каталог 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 220: Line 232:
  
 === 5.3 Helm === === 5.3 Helm ===
 +
 +8 DEVOPS2
  
   * [[Система Kubernetes#​Удаление объектов]] (весь namespace)   * [[Система Kubernetes#​Удаление объектов]] (весь namespace)
   * [[Система 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 240: Line 254:
  
 === 5.4 ArgoCD === === 5.4 ArgoCD ===
 +
 +!!! ВНИМАНИЕ !!! Вместо 9-го фрагмента записи (его лучше просто просмотреть) рекомендую выполнить лабораторные работы из вебинара [[https://​youtu.be/​oIczkkD-hOU|Доступ к приложениям в Bare-Metal Kubernetes]],​ там есть все что нужно, плюс, много дополнительного материала !!!
  
   * [[Система Kubernetes#​Работа со своим репозиторием]] для удаления приложения с kube кластера   * [[Система Kubernetes#​Работа со своим репозиторием]] для удаления приложения с kube кластера
Line 245: Line 261:
   * Используем [[Контроллер ArgoCD]] на kube кластере для деплоя приложения   * Используем [[Контроллер ArgoCD]] на kube кластере для деплоя приложения
  
 +=== 5.5 Работа с хранилищами в Kubernetes ===
 +
 +!!! Если есть "​настрой",​ можно выполнить лабораторные работы из этого вебинара:​
  
 +  * [[https://​www.youtube.com/​watch?​v=-5_XB4EcU9s|Работа с хранилищами в Kubernetes]]
 ==== Вопросы ==== ==== Вопросы ====
  
devops2._использование_kubernetes.1708752587.txt.gz · Last modified: 2024/02/24 08:29 by val