Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6 / отчет 6

.docx
Скачиваний:
0
Добавлен:
27.09.2026
Размер:
984 Кб
Скачать
☆

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра Программная инженерия

ОТЧЕТ

по лабораторной работе №6

по дисциплине «Основы DevOps»

Тема: «Основы Ansible»

Выполнил: студент группы БВТ2402

Кудряшов Вадим Георгиевич

Проверил: Тимчук А.В.

Москва, 2026

Цель работы

  1. Познакомиться с инструментом Ansible;

  2. Изучить формат описания конфигураций Ansible

Индивидуальное задание

Перед началом выполнения подготовили уже готовую виртуалку, которая будет типа хостом. Самое важное что нужно проверить, это статус ssh

sudo systemctl status ssh

Вот так быть не должно)

Чтобы запустить SSH службу нада:

sudo systemctl enable --now ssh

sudo systemctl start ssh

И сделаем еще 2 виртуалки

Так это должно выглядеть

Установим ssh сервак

Запустим демон и проверим что служба работает

Это нужно повторить на каждой виртуалке

Заходим на хост виртуалку, там в директории проекта (если нет – сделать) создаем файл hosts, без расширения, просто hosts

В файле hosts прописали три группы – staging_servers(первая и вторая виртуалка) prod_servers (третья виртуалка) и группа all_servers, просто группа которая объединяет две верхние.

айпишники берутся командой ip a, тот который нужен, обычно начинается с 192

Создадим конфигурационный файл

В нем прописали блок defaults, в котором отключили проверку SSH-ключей, чтобы Ansible не ругался на новые виртуалки

Создадим файл для переменных группы all_serves

прописали в нем логин/пароль от виртуалки

Установим пакет sshpass

Он нужен, потому что, Ansible по умолчанию ожидает, что мы настроили SSH-ключи для беспарольного входа. Но так как в лабе мы используем пароль, нам нужен sshpass, чтобы «подсовывать» его автоматически при подключении. Установим сам пакет Ansible (ну да я забыл это сделать иче)

Ansible - система упрчавления конфигурациями. Автоматизирует управление удаленными системами и контролирует их желаемое состояние

Пропишем ad-hoc команду чтобы пингануть виртуалки

ad-hoc – однострочная команда Ansible, предназначенная для выполнения разовых задач на удаленных узлах без необходимости создавать плейбук (файл сценария)

all – «выполнить на всех хостах»

-i hosts – флаг, который явно указывает путь к файлу с айпишниками

-m ping - -m(module) флаг, который задает команду, которая будет исполнятся на всех хостах

-k – ask-pass, флаг чтоб спросить пароль

Создадим директорию задачи для роли nginx

-p (parents) – флаг, позволяющий создавать вложенные директории

roles/ - директория, в которой Ansible будет искать роли по умолчанию

nginx/ – директория роли nginx

tasks/ - директория-список задач, которые роль предоставляет пьесе(playbook) для выполнения

Создадим в этой директории файл .yml

И опишем саму таску

name – понятно

apt – вызов модуля apt

notify – уведомление обработчику

Теперь создадим директорию для обработчика, который будет импортироваться в родительский плейбук для использования этой роли.

И опишем обработчик:

systemd – системный менеджер Linux, который управляет запуском, остановкой и состоянием всех сервисов

state: started – желаемое состояние: запущен

Теперь создадим сам плейбук nginx_install_and_run.yml

3: группа хостов: все (выполнить на всех машинах)

4-5: ключ слово для повышения привилегий

6-7: способ, которым будет выполняться повышение привилегий

8-9: пользователь, чьи права повышаем

10-11: роль которую нужно выполнить

Наконец запускаем плейбук

-i hosts – инвентарь

-kK – спрашивает пароль при запуске и пароль sudo (для apt)

все работает)

Исходный код программы

Если есть, оформляется согласно стилю кода языка программирования в шрифте consolas, 10 пунктов (Цветовое оформление может быть сохранено или убрано).

Заключение

В ходе выполнения лабораторной работы были успешно решены следующие задачи:

  1. Перечисление выполненных задач и их результаты.

Контрольные вопросы

Ответы на контрольные вопросы лабораторной работы.