Домашнее задание 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 будет выполнять следующие действия:
- Обновление пакетов
- Установка nginx
- Если установка выполнена успешно, через notify nginx будет поставлен в автозагрузку
- Создание конфига из простейшего шаблона 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, видим стартовую страницу
Все готово!
