User Tools

Site Tools


devops1._основные_инструменты_2025

DevOps1. Основные инструменты 2025

Программа курса

Модуль 0. Подготовка к занятию

  1. Узнать и записать свой номер стенда: X=
  2. Сообщить его в чат преподавателю

Модуль 1: Введение и развертывание стенда

Теория

Лабораторные работы: Развертывание стенда и инициализация репозитория Git

1.1 Схема стенда, импорт, настройка и запуск VM gate и server

Запустите с правами Administrator

C:\cmder\cmder.exe

bash

cd

test -d conf && rm -r conf

git clone http://val.bmstu.ru/unix/conf.git

cd conf/virtualbox/

!!! 8 - это номер курса, вместо X укажите Ваш номер стенда, если не знаете его, спросите преподавателя !!!

./setup.sh X 8

1.2 Настройка сети VM gate и server

  • gate
# sh net_gate.sh

# init 6
  • server
# sh net_server.sh

# init 6
  • Создать в Putty профили gate, server и подключиться

1.3 Инициализация репозитория Git

  • Сервис Git, команды init, add, commit для каталога /etc на server
server:~# sh conf/dns.sh
  • Настройка клиента DNS на gate и server
# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
# nslookup ns

1.4 Работа с репозиторием Git

server# cat /etc/bind/corpX.un
...
webd            A       192.168.X.10

Вопросы

  1. Перечислите и объясните команды git

Модуль 2: Docker

Теория

Лабораторные работы: Установка docker и работа с контейнерами

2.1 Причины использования Docker

!!! Методическая рекомендация, запустить установку Docker (только на server) из лабораторной работы 2.2

2.2 Собираем docker контейнер

  • Удаляем приложение с host системы
server# apt purge inetutils-inetd
  • Установка Docker из базового репозитория на server и из репозитория вендора на gate

!!! Методическая рекомендация, запустить установку GitLab из лабораторной работы 4.1

2.3 Связываем и деплоим контейнеры с помощью docker-compose

2.4 Создание образа для приложения с использованием Dockerfile

!!! Методическая рекомендация, запустить установку Golang из этой лабораторной работы

!!! Методическая рекомендация, запустить установку Vagrant из лабораторной работы 3.1

  • Вопросы оптимизации времени сборки образа
  • Установка Docker из репозитория вендора на gate
server# scp -r gowebd/ gate:

2.5 Использование Docker Registry

Вопросы

  1. Перечислите преимущества использования Docker

Модуль 3. Инфраструктура как код

Теория

Лабораторные работы: Управление инфраструктурой

3.1 Управление инфраструктурой с использованием Vagrant

!!! Методическая рекомендация, запустить установку Ansible из лабораторной работы 3.2

3.2 Управление инфраструктурой с использованием Ansible

Вопросы

  1. Что общего и в чем отличие между Ansible, Vagrant и Terraform?
  2. Что означает термин Provision в Vagrant?
  3. Что такое module, playbook, role в Ansible?
  4. Назовите каталоги в роли Ansible
  5. Что должно быть установлено на целевой системе для управления через Ansible?
  6. Каким образом Vagrant управляет VM?
  7. Как реализован Ansible provision в Vagrant?

Модуль 4. Continuous Integration

Теория

Лабораторные работы: От Git к CI/CD

4.1 Обзор GitLab

!!! Методическая рекомендация, скачать gitlab-runner из следующей лабораторной работы

  • Управление пользователями (назначить УЗ student администратором)
  • Создаем новый репозиторий (Project name: openvpn1, Private, без README) в GitLab
  • Пользуясь инструкцией к проекту, включаем Сервис Git для каталога openvpn1 и помещаем его в GitLab

4.2 Запуск пайплайнов из .gitlab-ci в gitlab-runners

  • Используя GitLab Pipeline Editor добавляем в проект openvpn1 Пример shell ansible Pipeline и наблюдаем “выкатку” в “прод” после Commit в ветку main

Модуль 5. Обзор задач QA

Теория

Лабораторные работы: Задачи тестирования

5.1 Ручное тестирование функциональности

  • Добавляем параметры dhcp-option,block-outside-dns и Commit в test с созданием Merge requests и наблюдаем “выкатку” в “тестовую” среду, проверяем работу сервиса в ней
  • Одобряем Merge requests и наблюдаем “выкатку” в “прод”

5.2 Автоматизированный анализ кода и работоспособности приложения при сборке образа

Вопросы

devops1._основные_инструменты_2025.txt · Last modified: 2024/11/19 07:40 by val