This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
введение_в_devops [2022/09/30 08:53] val [Лабораторные работы: Работа с контейнерами Docker] |
введение_в_devops [2023/01/04 14:28] val [Лабораторные работы: От Git к GitLab] |
||
---|---|---|---|
Line 98: | Line 98: | ||
gate:~# sh conf/dhcp.sh | gate:~# sh conf/dhcp.sh | ||
</code> | </code> | ||
- | * [[Установка ПО из исходных текстов#Использование утилиты make]] | + | * [[Установка ПО из исходных текстов#Использование утилиты make]] (установить) |
* [[Модуль AppArmor#Определение наличия и правка профилей для служб]] !!! проверить, закачался ли gitlab | * [[Модуль AppArmor#Определение наличия и правка профилей для служб]] !!! проверить, закачался ли gitlab | ||
<code> | <code> | ||
Line 132: | Line 132: | ||
!!! в теме Ansible | !!! в теме Ansible | ||
- | * Создаем новый репозиторий (Project name: openvpn1, без README) в GitLab и, пользуясь инструкцией к проекту, добавляем его в ветку main | + | * Создаем новый репозиторий (Project name: openvpn1, без README) в GitLab |
- | * Включаем [[Сервис Git]] для каталога openvpn1 | + | * Пользуясь инструкцией к проекту, включаем [[Сервис Git]] для каталога openvpn1 (ветку main) |
- | * Загружаем репозиторий openvpn1 на локальную систему в [[Cmder]] (!!! появляется скрытое окно, в котором надо нажать Ок), открываем проект в npp | + | * Используем [[Сервис Git#Клонирование и обновление локального репозитория из сетевого]] проекта openvpn1 на локальную систему в [[Cmder]] (!!! появляется скрытое окно, в котором надо нажать Ок) и открываем проект в npp |
* Используем [[Сервис Git#Работа с ветками]] в Git для тестовой конфигурации в [[Сервис Ansible#Роль OpenVPN сервера]] (можно добавить и протестировать настройки push...dhcp...dns) | * Используем [[Сервис Git#Работа с ветками]] в Git для тестовой конфигурации в [[Сервис Ansible#Роль OpenVPN сервера]] (можно добавить и протестировать настройки push...dhcp...dns) | ||
* Устанавливаем и регистрируем [[Инструмент GitLab#GitLab Runner]] (shell) на server | * Устанавливаем и регистрируем [[Инструмент GitLab#GitLab Runner]] (shell) на server | ||
Line 177: | Line 177: | ||
- Что общего и в чем отличие между Ansible, Vagrant и Terraform? | - Что общего и в чем отличие между Ansible, Vagrant и Terraform? | ||
+ | - Что означает термин Provision в Vagrant? | ||
- Что такое module, playbook, role в Ansible? | - Что такое module, playbook, role в Ansible? | ||
- Назовите каталоги в роли Ansible | - Назовите каталоги в роли Ansible | ||
- | - Что должно быть установлено на целевой системе для управления ею через Ansible | + | - Что должно быть установлено на целевой системе для управления через Ansible? |
- Каким образом Vagrant управляет VM? | - Каким образом Vagrant управляет VM? | ||
- Для чего предназначен Provision в Vagrant? | - Для чего предназначен Provision в Vagrant? | ||
Line 192: | Line 193: | ||
=== 4.1 Разработка и нагрузочное тестирование приложения webd === | === 4.1 Разработка и нагрузочное тестирование приложения webd === | ||
- | * Преподаватель импортирует linux систему external-host для нагрузочного тестирования | + | * Преподаватель импортирует linux систему external-host для нагрузочного тестирования и демонстрирует "разработку" приложения |
* [[Средства программирования shell#Web сервер на shell]] | * [[Средства программирования shell#Web сервер на shell]] | ||
* [[Сервис INETD]] | * [[Сервис INETD]] | ||
Line 208: | Line 209: | ||
=== 4.2 Использование технологии Docker для распространения приложения webd === | === 4.2 Использование технологии Docker для распространения приложения webd === | ||
- | * Устанавливаем [[Технология Docker]] на server | + | * Устанавливаем [[Технология Docker]] на server, и, используя учетную запись gitlab-runner (удобно для тестов CI/CD из командной строки), знакомимся и упаковываем приложение (без sftp) |
- | * [[Технология Docker#Предоставление прав непривилегированным пользователям]] в Docker для gitlab-runner@server (удобно для тестов CI/CD из командной строки) | + | |
- | * Знакомимся с [[Технология Docker]] и упаковываем приложение (без sftp) в контейнер | + | |
* Создаем проект webd в [[Сервис Git#On-Premise gitlab]] | * Создаем проект webd в [[Сервис Git#On-Premise gitlab]] | ||
* Включаем [[Инструмент GitLab#GitLab Docker Registry]] | * Включаем [[Инструмент GitLab#GitLab Docker Registry]] | ||
Line 219: | Line 218: | ||
=== 4.3 Горизонтальное масштабирование приложения webd с использованием docker-compose === | === 4.3 Горизонтальное масштабирование приложения webd с использованием docker-compose === | ||
- | Примечание: слушатели делают только "Сервис NFS на server", остальное демонстрирует преподаватель | + | * Проверяем наличие, или устанавливаем Docker на node1,2,3 |
- | + | * [[Сервис NFS]] на server (преподаватель) | |
- | + | ||
- | * [[Сервис NFS]] на server | + | |
* [[Сервис NFS#Установка nfs клиента]] на node1 (достаточно для демонстрации) | * [[Сервис NFS#Установка nfs клиента]] на node1 (достаточно для демонстрации) | ||
* Настраиваем доступ к [[Технология Docker#Локальные репозитории]] на node1 (достаточно для демонстрации) | * Настраиваем доступ к [[Технология Docker#Локальные репозитории]] на node1 (достаточно для демонстрации) | ||
Line 278: | Line 275: | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
+ | * Почему Kubernetes часто обозначают K8s? | ||
+ | * Чем K8s отличается от Docker-Compose? | ||
+ | * Что используется для описания состояния объектов в K8s? | ||
+ | * Как связаны понятия Deployment, Replica Sets, Pods? | ||
+ | * Для чего используются Namespace? | ||
+ | * Что общего и в чем различие между Service и Ingress? | ||
+ | * Что используется для подключения Pod к общим файлам? | ||
+ | * Для чего нужен Helm и что используется для его описания? | ||
===== Дополнительные материалы ===== | ===== Дополнительные материалы ===== | ||