>_ IzzyLab

Практическое задание

Ansible против localhost

сложно

Инфраструктура как код, кухонная версия. Напиши плейбук /root/site.yml, нацеленный на localhost (local connection), который: создаёт пользователя deploy, ставит пакет htop и пишет в /etc/motd строку Managed by Ansible. Прогони его до сходимости.

Что потренируешь:
  • ansible
  • iac
  • плейбук
  • идемпотентность
  • модули

Разбор темы

Ansible — инструмент управления конфигурацией по принципу IaC: ты описываешь желаемое состояние системы в плейбуке (YAML), а движок сам приводит машину к нему через специализированные модули (user, apt, copy и т.д.). Обычно Ansible ходит на хосты по SSH, но цель можно замкнуть на саму машину, указав в плее hosts: localhost и connection: local — тогда инвентарь не нужен. Ключевое свойство модулей — идемпотентность: повторный прогон не ломает уже достигнутое состояние, а показывает changed=0, что и означает сходимость.

Что проверяется

  1. плейбук /root/site.yml валиден
  2. пользователь deploy создан
  3. пакет htop установлен
  4. /etc/motd содержит Managed by Ansible

Как это выглядит