Skip to content

LLIILLEEDD/nginx-conf-maker-ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nginx-conf-maker-ansible

Лабораторная работа на ознакомление с Ansible. Это переписанная версия nginx-conf-maker (Python+Bash) с использованием Ansible В ходе работы я познакомился с:

  • Основными принципами работы Ansible
  • Управлением сервисами и файлами через Ansible модули
  • Написанием и запуском Ansible playbooks для управления конфигурацией серверов
  • Использованием шаблонов Jinja2 для динамического создания конфигурационных файлов

Логика работы плейбука

Изначально писал один основной большой плейбук, теперь он разбит на 4 роли:

  • nginx_base
  • check
  • conf_maker
  • test_html_make
  1. nginx_base - Базовая настройка: установка Nginx, открытие портов, отключение SELinux

  2. check - Валидация входных параметров и проверка файловой структуры

  3. conf_maker - Создает на основе .jinja2 шаблона .conf файлы для nginx в /conf.d вызывает reload сервиса nginx eсли был change

  4. test_html_make - Создание тестовой HTML-страницы с параметрами виртуального хоста

Как работает плейбук

Все собственно как и раньше, мы вписываем нужные данные в group_vars\all\sites.yml

image

Запускаем плейбук

ansible-playbook -i inventory playbook.yml

На выходе получаем .conf файл с нужными нам значениями и тестовую html страницу, чтобы через curl сразу увидеть что все поднялось правильно. Также вносятся ip и доменное имя сайта в /etc/hosts

image image

Требования для локального теста

  • Доступ к sudo
  • Ansible

Тесты

Проект протестирован на чистой системе Oracle Linux 9. Под чистой системой я понимаю только подключенные epel пакеты и установленный Ansible

Что нового

Получилось сократить кол-во требований и предварительной подготовки системы. Также добавлено создание тестовой html страницы, внесенеие строки в hosts

Итог

Ansible действительно проще для реализации проектов на автоматизацию, по крайне мере если сравнивать с прошлым проектом. Более читаймый, меньше требований, отсутствует необходимость погружаться в синтаксис. Ну и кончено удобная работа с шаблонами. Главное уметь искать в документации нужные примеры и параметры

Автор

LLIILLEEDD

About

Generation of Nginx configuration files

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages