Добавить README.md
This commit is contained in:
88
README.md
Normal file
88
README.md
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
# Домашнее задание 24
|
||||||
|
|
||||||
|
## Ansible
|
||||||
|
|
||||||
|
Для выполнение задания используется vagrant box Ubuntu 22.04
|
||||||
|
|
||||||
|
|
||||||
|
### Создание Vagrantfile
|
||||||
|
|
||||||
|
Зададим следующие характеристики для VM
|
||||||
|
|
||||||
|
- CPU - 1
|
||||||
|
- Memory - 512mb
|
||||||
|
|
||||||
|
Пробросим порт 8080 с хостовой машины в гостевую на 8080 порт.
|
||||||
|
|
||||||
|
После запуска VM в provision пропишем запуск ansible и укажем наш сценарий install_nginx.yml
|
||||||
|
|
||||||
|
|
||||||
|
Готовый [Vagrantfile](Vagrantfile)
|
||||||
|
|
||||||
|
### Cоздание install_nginx.yml
|
||||||
|
|
||||||
|
Сценарий для Ansible будет выполнять следующие действия:
|
||||||
|
|
||||||
|
1. Обновление пакетов
|
||||||
|
2. Установка nginx
|
||||||
|
- Если установка выполнена успешно, через **notify** nginx будет поставлен в автозагрузку
|
||||||
|
3. Создание конфига из простейшего шаблона **nginx_template**, в котором nginx запускается на порту 8080
|
||||||
|
- Если создание шаблона произойдет без ошибок, через **notify** nginx будет перезапущен
|
||||||
|
|
||||||
|
|
||||||
|
Готовый [install_nginx.yml](install_nginx.yml)
|
||||||
|
|
||||||
|
|
||||||
|
### Cоздание nginx_template
|
||||||
|
|
||||||
|
Наипростеший шаблон, при распространение которого через ansible, требуется передать переменную **{{ nginx_port }}**, в которой указать, на каком порту будет запущен Nginx
|
||||||
|
|
||||||
|
Готовый [nginx_template](nginx_template)
|
||||||
|
|
||||||
|
### Проверка
|
||||||
|
|
||||||
|
Положим файлы **Vagrantfile**, **install_nginx.yml** и **nginx_template** в один каталог.
|
||||||
|
|
||||||
|
Запустим vagrant
|
||||||
|
```bash
|
||||||
|
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, видим стартовую страницу
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
Все готово!
|
||||||
Reference in New Issue
Block a user