This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
devops1._основные_инструменты [2025/02/19 06:27] val |
devops1._основные_инструменты [2025/06/01 14:07] (current) val [Лабораторные работы: Работа с minikube, cоздание deployment и service] |
||
---|---|---|---|
Line 6: | Line 6: | ||
* [[https://www.specialist.ru/track/dp-devops|ДП-ДЕВОПС-М]] | * [[https://www.specialist.ru/track/dp-devops|ДП-ДЕВОПС-М]] | ||
+ | ===== Практикум ===== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/dev1/|Записи практикума]] | ||
===== Модуль 0. Подготовка к занятию ===== | ===== Модуль 0. Подготовка к занятию ===== | ||
Line 15: | Line 18: | ||
==== Теория ==== | ==== Теория ==== | ||
+ | * [[https://landscape.cncf.io/]] | ||
* [[https://dzen.ru/a/ZVIBk2kT0ntemhwK|∞ Дорожная карта DevOps-инженера в 2023 году]] | * [[https://dzen.ru/a/ZVIBk2kT0ntemhwK|∞ Дорожная карта DevOps-инженера в 2023 году]] | ||
* Ссылки в разделе [[Сервис Git]] | * Ссылки в разделе [[Сервис Git]] | ||
+ | |||
==== Лабораторные работы: Развертывание стенда и инициализация репозитория Git ==== | ==== Лабораторные работы: Развертывание стенда и инициализация репозитория Git ==== | ||
Line 112: | Line 117: | ||
* [[Технология Docker#Установка]] Docker из базового репозитория на **server** и из репозитория вендора на **gate** | * [[Технология Docker#Установка]] Docker из базового репозитория на **server** и из репозитория вендора на **gate** | ||
- | !!! Методическая рекомендация, запустить установку Golang из этой лабораторной работы | + | !!! Методическая рекомендация, запустить установку Golang на gate из этой лабораторной работы 2.1.3 |
* Обсудить [[Технология Docker#Создание образа для приложения вручную]] было в ЛИН3 | * Обсудить [[Технология Docker#Создание образа для приложения вручную]] было в ЛИН3 | ||
Line 120: | Line 125: | ||
* Обсудить [[Технология Docker#Создание образа для приложения с использованием Dockerfile]] будет в доп. практикуме | * Обсудить [[Технология Docker#Создание образа для приложения с использованием Dockerfile]] будет в доп. практикуме | ||
- | == Приложение на Python == | + | == 2.1.2 Приложение на Python == |
* [[Язык программирования Python#Виртуальная среда Python]] (учетная запись root на server) | * [[Язык программирования Python#Виртуальная среда Python]] (учетная запись root на server) | ||
Line 132: | Line 137: | ||
* [[Технология Docker#Анализ параметров запущенного контейнера]] | * [[Технология Docker#Анализ параметров запущенного контейнера]] | ||
- | == Приложение на Go == | + | == 2.1.3 Приложение на Go == |
!!! Методическая рекомендация, запустить установку GitLab из лабораторной работы 4.1 | !!! Методическая рекомендация, запустить установку GitLab из лабораторной работы 4.1 | ||
Line 165: | Line 170: | ||
- Как ПО в Docker контейнере может взаимодействовать с системой и другими контейнерами? | - Как ПО в Docker контейнере может взаимодействовать с системой и другими контейнерами? | ||
- Зачем нужен Dockerfile? | - Зачем нужен Dockerfile? | ||
+ | - Как указать агрументы для entrypoint в команде run ([[Технология Docker#Запуск контейнеров]]) | ||
- Зачем "запихивать" сразу много инструкций в команду RUN? | - Зачем "запихивать" сразу много инструкций в команду RUN? | ||
- Зачем нужен docker-compose? | - Зачем нужен docker-compose? | ||
Line 279: | Line 285: | ||
* Размещение образа приложения в Registry | * Размещение образа приложения в Registry | ||
* Включаем [[Инструмент GitLab#GitLab Docker Registry]] | * Включаем [[Инструмент GitLab#GitLab Docker Registry]] | ||
- | * Включаем [[Технология Docker#Insecure Private Registry]] и [[Технология Docker#Аутентификация в Registry]] | + | * Включаем [[Технология Docker#Insecure Private Registry]] и [[Технология Docker#Аутентификация в Registry]] на gate |
* Создаем (Public, без README) проект gowebd | * Создаем (Public, без README) проект gowebd | ||
* Cохраняем образ, [[Технология Docker#Использование Private Registry]] | * Cохраняем образ, [[Технология Docker#Использование Private Registry]] | ||
Line 295: | Line 301: | ||
* Добавляем в папку gowebd [[Инструмент GitLab#Пример CI с использованием контейнеров]] | * Добавляем в папку gowebd [[Инструмент GitLab#Пример CI с использованием контейнеров]] | ||
* Используя инструкции из GitLab добавляем папку в проект и наблюдаем сборку образа с тэгом commit hash | * Используя инструкции из GitLab добавляем папку в проект и наблюдаем сборку образа с тэгом commit hash | ||
- | * Можно продемонстрирорвать Smoke test, заменив порт в коде | + | * Можно продемонстрировать Smoke test, заменив порт в коде |
* Останавливаем, очищаем конфигурацию [[Инструмент GitLab#Установка в виде контейнера]] gitlab-runner на gate | * Останавливаем, очищаем конфигурацию [[Инструмент GitLab#Установка в виде контейнера]] gitlab-runner на gate | ||
Line 306: | Line 312: | ||
* Добавляем необходимые для DinD элементы конфигурации в [[Инструмент GitLab#Пример CI с использованием контейнеров]] | * Добавляем необходимые для DinD элементы конфигурации в [[Инструмент GitLab#Пример CI с использованием контейнеров]] | ||
* Увеличиваем версию и наблюдаем сборку образа с тэгом commit hash | * Увеличиваем версию и наблюдаем сборку образа с тэгом commit hash | ||
- | * Можно продемонстрирорвать Lint test, добавив лишнюю переменную в коде | + | * Можно продемонстрировать Lint test, добавив лишнюю переменную в коде |
* Используем Git тэги ([[Сервис Git#Обновление сетевого репозитория из локального]] или Code->Tags) для указания версии Docker образов | * Используем Git тэги ([[Сервис Git#Обновление сетевого репозитория из локального]] или Code->Tags) для указания версии Docker образов | ||
Line 337: | Line 343: | ||
* Для понимания работы [[Система Kubernetes#Ingress]] (будет в следующем курсе), можно продемонстрировать использование [[Сервис HTTP#Прокси "красивого" URL в приложение (пример 3)|Nginx]] для доступа к приложению webd в minikube с хост системы | * Для понимания работы [[Система Kubernetes#Ingress]] (будет в следующем курсе), можно продемонстрировать использование [[Сервис HTTP#Прокси "красивого" URL в приложение (пример 3)|Nginx]] для доступа к приложению webd в minikube с хост системы | ||
- | * Если есть 30 минут, можно показать CD через envsubst "3.2 Разворачивание приложения в kubernetes" из Девопс2 | + | * Если есть 30 минут, можно показать CD через envsubst "**Развертывание нужной версии приложения в kubernetes**" из Девопс2 |
* Понадобится назначить метку k8s-deploy ранеру и | * Понадобится назначить метку k8s-deploy ранеру и | ||
<code> | <code> |