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
Last revision Both sides next revision
devops2._использование_kubernetes [2024/02/24 08:35]
val [Лабораторные работы: CD приложения]
devops2._использование_kubernetes [2024/04/24 09:23]
val [Лабораторные работы: CD приложения]
Line 154: Line 154:
   * Создаем и подключаемся учетной записью 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 199: Line 206:
   * Использование [[Система 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 211: Line 218:
   * Создаем каталог 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 230:
  
 === 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 252:
  
 === 5.4 ArgoCD === === 5.4 ArgoCD ===
 +
 +!!! ВНИМАНИЕ !!! Вместо 9-го фрагмента записи (его лучше просто просмотреть) рекомендую выполнить лабораторные работы из вебинара [[https://​youtu.be/​oIczkkD-hOU|Доступ к приложениям в Bare-Metal Kubernetes]],​ там есть все что нужно, плюс, много дополнительного материала !!!
  
   * [[Система Kubernetes#​Работа со своим репозиторием]] для удаления приложения с kube кластера   * [[Система Kubernetes#​Работа со своим репозиторием]] для удаления приложения с kube кластера
Line 245: Line 259:
   * Используем [[Контроллер ArgoCD]] на kube кластере для деплоя приложения   * Используем [[Контроллер ArgoCD]] на kube кластере для деплоя приложения
  
 +=== 5.5 Работа с хранилищами в Kubernetes ===
 +
 +!!! Если есть "​настрой",​ можно выполнить лабораторные работы из этого вебинара:​
  
 +  * [[https://​www.youtube.com/​watch?​v=-5_XB4EcU9s|Работа с хранилищами в Kubernetes]]
 ==== Вопросы ==== ==== Вопросы ====
  
devops2._использование_kubernetes.txt · Last modified: 2024/05/06 10:12 by val