User Tools

Site Tools


введение_в_devops

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
введение_в_devops [2023/01/23 16:55]
val [Лабораторные работы: Использование Vagrant]
введение_в_devops [2023/09/11 06:19]
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 и перестать бояться изменений в пятницу вечером]]+
  
  
Line 7: Line 7:
  
   * [[https://​www.specialist.ru/​course/​kuber|DevOps. Уровень 1. Инфраструктура как код, основные инструменты]]   * [[https://​www.specialist.ru/​course/​kuber|DevOps. Уровень 1. Инфраструктура как код, основные инструменты]]
 +  * [[https://​www.specialist.ru/​track/​dp-devops|ДП-ДЕВОПС-М]]
  
 ===== Модуль 0. Подготовка стенда в классе ===== ===== Модуль 0. Подготовка стенда в классе =====
Line 35: Line 36:
  
 cd conf/​virtualbox/​ cd conf/​virtualbox/​
 +
 +!!! 8 - это номер курса, вместо X укажите Ваш номер стенда,​ если не знаете его, спросите преподавателя !!!
  
 ./setup.sh X 8 ./setup.sh X 8
Line 40: Line 43:
 === 1.2 Настройка сети VM gate и server === === 1.2 Настройка сети VM gate и server ===
  
 +  * !!! Добавить HDD 20GB к server
   * [[Настройка стендов слушателей#​Настройка виртуальных систем Unix]] с использованием [[Настройка стендов слушателей#​Скрипты автоконфигурации]]   * [[Настройка стендов слушателей#​Настройка виртуальных систем Unix]] с использованием [[Настройка стендов слушателей#​Скрипты автоконфигурации]]
  
Line 82: Line 86:
   * [[Переменные окружения#​Установка переменных окружения]] http_proxy, https_proxy и no_proxy   * [[Переменные окружения#​Установка переменных окружения]] http_proxy, https_proxy и no_proxy
   * Установку [[Сервис Ansible]]   * Установку [[Сервис Ansible]]
-  * Установку [[Инструмент GitLab]]+  * Установку [[Инструмент GitLab]] !!! запустить до первого перерыва 
 + 
 + 
 +  * !!! Заранее выполняем на host системе 
 +  * Технология Vagrant [[Технология Vagrant#​Установка]]
  
 ==== Теория ==== ==== Теория ====
Line 127: Line 135:
   * Используем [[Пакет sudo]] для разрешений пользователя gitlab-runner   * Используем [[Пакет sudo]] для разрешений пользователя gitlab-runner
   * [[Инструмент GitLab#​GitLab CI/CD]]   * [[Инструмент GitLab#​GitLab CI/CD]]
-  * Экспериментируем)+  * Экспериментируем ​или смотри вебинар :[[https://​youtu.be/​FeD6VBY2Xss|Вход в CI/CD для Linux-админа]]
  
 === 2.4 Работа с ветками в GitLab CI/CD === === 2.4 Работа с ветками в GitLab CI/CD ===
Line 134: Line 142:
  
   * Создаем новый репозиторий (Project name: openvpn1, без README) в GitLab ​   * Создаем новый репозиторий (Project name: openvpn1, без README) в GitLab ​
-  * Пользуясь инструкцией к проекту,​ включаем [[Сервис Git]] для каталога openvpn1 (ветку ​main)+  * Пользуясь инструкцией к проекту,​ включаем [[Сервис Git]] для каталога openvpn1 (ubuntu20 ​ветка master) и помещаем его в GitLab (можно сразу добавить GitLab Runner и CI/CD для выкатки в прод)
   * Используем [[Сервис Git#​Клонирование и обновление локального репозитория из сетевого]] проекта 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+  * Используем [[Сервис Git#​Работа с ветками]] в Git для переноса изменений ветки test в master
   * Дополнительное задание - добавить [[Пакет OpenVPN#​Тестирование конфигурации]] перед деплоем   * Дополнительное задание - добавить [[Пакет OpenVPN#​Тестирование конфигурации]] перед деплоем
  
Line 163: Line 171:
  
   * Добавляем DNS записи nodeN A 192.168.X.200+N в [[Сервис DNS#​Настройка мастер сервера зоны corpX.un]]   * Добавляем DNS записи nodeN A 192.168.X.200+N в [[Сервис DNS#​Настройка мастер сервера зоны corpX.un]]
 +  * Обзор команд [[Технология VirtualBox]]
   * Развертываем с использованием [[Технология Vagrant]] node1,2,3   * Развертываем с использованием [[Технология Vagrant]] node1,2,3
  
Line 170: Line 179:
   * Преподаватель импортирует систему Windows для тестирования OpenVPN   * Преподаватель импортирует систему Windows для тестирования OpenVPN
   * Разворачиваем [[Пакет OpenVPN]] в конфигурации с [[Пакет OpenVPN#​Использование PAM аутентификации]] на node1,​2,​3 ​ с [[Сервис Ansible#​Использование ролей]]   * Разворачиваем [[Пакет OpenVPN]] в конфигурации с [[Пакет OpenVPN#​Использование PAM аутентификации]] на node1,​2,​3 ​ с [[Сервис Ansible#​Использование ролей]]
-  * Для подключения используем [[Сервис Keepalived]] в режиме [[Сервис Keepalived#​Настройка балансировки нагрузки]] и соответствующей ​[[Пакет OpenVPN#​Настройка клиента]] ​client.ovpn ​в windows, можно добавить [[Сервис NAT]] для зрелищности+  * Для подключения используем [[Сервис Keepalived]] в режиме [[Сервис Keepalived#​Настройка балансировки нагрузки]] и client.ovpn ([[Пакет OpenVPN#​Настройка клиента]]в windows 
 +  * Можно добавить [[Сервис NAT]] для зрелищности
  
   * **Лабораторная работа 2.4**   * **Лабораторная работа 2.4**
Line 185: Line 195:
   - Что должно быть установлено на целевой системе для управления через Ansible?   - Что должно быть установлено на целевой системе для управления через Ansible?
   - Каким образом Vagrant управляет VM?   - Каким образом Vagrant управляет VM?
-  - Для чего предназначен Provision в Vagrant? 
   - Как реализован Ansible provision в Vagrant?   - Как реализован Ansible provision в Vagrant?
 ===== Модуль 4: Распространение ПО с использованием контейнеров ===== ===== Модуль 4: Распространение ПО с использованием контейнеров =====
Line 202: Line 211:
   * [[https://​lindevs.com/​install-vegeta-on-ubuntu|Install Vegeta on Ubuntu 20.04]]   * [[https://​lindevs.com/​install-vegeta-on-ubuntu|Install Vegeta on Ubuntu 20.04]]
   * [[https://​serverfault.com/​questions/​389645/​ftp-tcp-server-failing-looping|ftp/​tcp server failing (looping)]]   * [[https://​serverfault.com/​questions/​389645/​ftp-tcp-server-failing-looping|ftp/​tcp server failing (looping)]]
 +
 +  * duration=60s rate=400 выдерживают 10 экземпляров приложения
 +  * в качестве external-host можно использовать gate
 <​code>​ <​code>​
 external-host#​ curl http://​172.16.1.X external-host#​ curl http://​172.16.1.X
Line 279: Line 291:
  
 === 5.4 Helm в k8s (следующий курс :) === === 5.4 Helm в k8s (следующий курс :) ===
 +
 +  * [[https://​www.specialist.ru/​course/​devops2|DevOps. Уровень 2. Использование Kubernetes]]
  
   * Разворачиваем новый [[Система Kubernetes#​Кластер Kubernetes]] из node1,2,3   * Разворачиваем новый [[Система Kubernetes#​Кластер Kubernetes]] из node1,2,3
введение_в_devops.txt · Last modified: 2023/09/11 06:23 by val