2026-02-07 22:58:25 +03:00
2026-02-07 22:56:23 +03:00
2026-02-07 22:58:25 +03:00
2026-02-07 22:56:58 +03:00

Домашнее задание 24

Ansible

Для выполнение задания используется vagrant box Ubuntu 22.04

Создание Vagrantfile

Зададим следующие характеристики для VM

  • CPU - 1
  • Memory - 512mb

Пробросим порт 8080 с хостовой машины в гостевую на 8080 порт.

После запуска VM в provision пропишем запуск ansible и укажем наш сценарий install_nginx.yml

Готовый Vagrantfile

Cоздание install_nginx.yml

Сценарий для Ansible будет выполнять следующие действия:

  1. Обновление пакетов
  2. Установка nginx
    • Если установка выполнена успешно, через notify nginx будет поставлен в автозагрузку
  3. Создание конфига из простейшего шаблона nginx_template, в котором nginx запускается на порту 8080
    • Если создание шаблона произойдет без ошибок, через notify nginx будет перезапущен

Готовый install_nginx.yml

Cоздание nginx_template

Наипростеший шаблон, при распространение которого через ansible, требуется передать переменную {{ nginx_port }}, в которой указать, на каком порту будет запущен Nginx

Готовый nginx_template

Проверка

Положим файлы Vagrantfile, install_nginx.yml и nginx_template в один каталог.

Запустим vagrant

alex@ubuntu-pc:~/Документы/16$ vagrant up 
Bringing machine 'ubuntu' up with 'virtualbox' provider...
==> ubuntu: Importing base box 'ubuntu/jammy64'...
==> ubuntu: Matching MAC address for NAT networking...
==> ubuntu: Checking if box 'ubuntu/jammy64' version '20241002.0.0' is up to date...
==> ubuntu: Setting the name of the VM: 16_ubuntu_1770490800382_68640
...

...
PLAY [all] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [ubuntu]

TASK [update] ******************************************************************
changed: [ubuntu]

TASK [install nginx] ***********************************************************
changed: [ubuntu]

TASK [create config nginx] *****************************************************
changed: [ubuntu]

RUNNING HANDLER [restart nginx] ************************************************
changed: [ubuntu]

RUNNING HANDLER [enabled nginx] ************************************************
ok: [ubuntu]

PLAY RECAP *********************************************************************
ubuntu                     : ok=6    changed=4    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

Видим что в конце отработал ansible, HANDLER так же выполнены.

Проверим в браузере открыв http//127.0.0.1:8080, видим стартовую страницу

16_1

Все готово!

Description
Ansible
Readme 84 KiB