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 09:39] val [Лабораторные работы: Работа с контейнерами Docker] |
введение_в_devops [2023/01/06 16:21] val |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Введение в DevOps ====== | ====== Введение в DevOps ====== | ||
- | * [[https://www.cisco.com/c/dam/m/ru_ru/training-events/2019/cisco-connect/pdf/netdevops_angrechi_on_site.pdf|Как начать управлять сетью на основе методологии NetDevOpsи перестать бояться изменений в пятницу вечером]] | + | * [[https://www.cisco.com/c/dam/m/ru_ru/training-events/2019/cisco-connect/pdf/netdevops_angrechi_on_site.pdf|Как начать управлять сетью на основе методологии NetDevOps и перестать бояться изменений в пятницу вечером]] |
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 | ||
* Используем GitLab CI/CD [[Инструмент GitLab#Пример shell ansible]] для сервиса OpenVPN с ручным тестированием конфигурации | * Используем GitLab CI/CD [[Инструмент GitLab#Пример shell ansible]] для сервиса OpenVPN с ручным тестированием конфигурации | ||
- | * Дополнительное задание - добавить тестирование конфигурации перед деплоем | + | * Используем [[Сервис Git#Работа с ветками]] в Git для переноса изменений ветки test в main |
+ | * Дополнительное задание - добавить [[Пакет OpenVPN#Тестирование конфигурации]] перед деплоем | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 168: | Line 169: | ||
* Преподаватель импортирует систему Windows для тестирования OpenVPN | * Преподаватель импортирует систему Windows для тестирования OpenVPN | ||
* Разворачиваем [[Пакет OpenVPN]] в конфигурации с [[Пакет OpenVPN#Использование PAM аутентификации]] на node1,2,3 с [[Сервис Ansible#Использование ролей]] | * Разворачиваем [[Пакет OpenVPN]] в конфигурации с [[Пакет OpenVPN#Использование PAM аутентификации]] на node1,2,3 с [[Сервис Ansible#Использование ролей]] | ||
- | * Для подключения используем [[Сервис Keepalived]] в режиме [[Сервис Keepalived#Настройка балансировки нагрузки]] и соответствующей [[Пакет OpenVPN#Настройка клиента]] windows | + | * Для подключения используем [[Сервис Keepalived]] в режиме [[Сервис Keepalived#Настройка балансировки нагрузки]] и соответствующей [[Пакет OpenVPN#Настройка клиента]] windows, можно добавить [[Сервис NAT]] для зрелищности |
* Лабораторная работа 2.4 | * Лабораторная работа 2.4 | ||
Line 177: | Line 178: | ||
- Что общего и в чем отличие между 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 243: | Line 245: | ||
=== 5.1 Установка и подключение к k8s === | === 5.1 Установка и подключение к k8s === | ||
- | * Может понадобиться [[Управление файловыми системами в Linux#Расширение существующего логического тома]] | + | * Может закончиться место на диске VM server и понадобиться [[Управление ПО в Linux#Удаление архива установленных пакетов]] или [[Управление файловыми системами в Linux#Расширение существующего логического тома]] |
* Производим [[Система Kubernetes#Установка minikube]] для gitlab-runner@server (для доступа к репозиторию, на нем же, понадобится включить [[Сервисы Gateway и routing]]) | * Производим [[Система Kubernetes#Установка minikube]] для gitlab-runner@server (для доступа к репозиторию, на нем же, понадобится включить [[Сервисы Gateway и routing]]) | ||
* [[Система Kubernetes#Инструмент командной строки kubectl]] для gitlab-runner@server | * [[Система Kubernetes#Инструмент командной строки kubectl]] для gitlab-runner@server | ||
Line 251: | Line 253: | ||
* Изучаем [[Система Kubernetes#Базовые объекты k8s]] | * Изучаем [[Система Kubernetes#Базовые объекты k8s]] | ||
* Для понимания работы [[Система Kubernetes#Ingress]], изучаем [[Сервис HTTP#NGINX]], используя его параллельно [[Система Kubernetes#Ingress]] для доступа к приложению webd с хост системы | * Для понимания работы [[Система Kubernetes#Ingress]], изучаем [[Сервис HTTP#NGINX]], используя его параллельно [[Система Kubernetes#Ingress]] для доступа к приложению webd с хост системы | ||
- | * и системы снаружи для тестирования livenessProbe (лучше не использовать DNS View из-зи множества внутренних сетей Docker/K8S) | + | * и системы снаружи для тестирования livenessProbe (лучше не использовать DNS View из-за множества внутренних сетей Docker/K8S) |
<code> | <code> | ||
extern-host# cat /etc/hosts | extern-host# cat /etc/hosts |