Linux Labs

Автоматизация: Git и Ansible / Ступень 5 из 6

Плейбук: задачи, обработчики, шаблоны

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 5 из 6 · лаба · 25 минсредняя

Недописанный плейбук

Страницу статуса магазина решили больше не настраивать руками — только плейбуком Ansible. Плейбук начат, но падает и делает не всё. Допиши его так, чтобы он сам настраивал машину и второй прогон ничего не менял.

Ситуация

На серверах магазина нужна страница статуса. Приложение status-board уже установлено (/usr/local/bin/status-board), но настраивать его руками на каждом сервере не хотят. Тимур начал плейбук Ansible в ~/status-board и не успел его дописать: ansible-playbook site.yml сейчас падает.

Задача

Допиши site.yml так, чтобы он сам приводил эту машину (localhost из inventory.ini) в нужное состояние:

  1. Пользователь status — системный, без входа в оболочку (задача для него в плейбуке уже есть).
  2. Каталог данных /var/lib/status: владелец и группа status, права 0750.
  3. Настройки /etc/status/status.ini — из шаблона templates/status.ini.j2 с переменными из vars: плейбука: владелец root, группа status, права 0640.
  4. Служба lab-status (юнит — files/lab-status.service) запущена, включена при загрузке и отвечает: curl http://127.0.0.1:8095/.
  5. Повторный запуск плейбука ничего не меняет: в итоге changed=0.

«Проверить» прогоняет плейбук сам. Сначала убирает то, что плейбук должен создать: службу lab-status с юнитом, /etc/status, /var/lib/status и пользователя status. Потом дважды запускает ansible-playbook site.yml из ~/status-board от твоего имени. Поэтому всё должен делать плейбук — настроенное руками проверка уберёт.

Приложение, файл files/lab-status.service и переменные в vars: не меняй.

Запуск: cd ~/status-board && ansible-playbook site.yml. Справка по модулю — ansible-doc file. Интернета на машине нет.

Лаба · самостоятельно

Команды в этой лабе не даны: набирай их в терминале сам. Цели проверяются на машине после каждой команды.

Цели

0 из 5
  • ansible-playbook site.yml проходит без ошибок на машине без страницы статуса — ещё не выполнена
  • Плейбук создаёт системного пользователя status и каталог /var/lib/status (status:status, 0750) — ещё не выполнена
  • /etc/status/status.ini собран по шаблону templates/status.ini.j2 (root:status, 0640) — ещё не выполнена
  • Служба lab-status запущена, включена при загрузке и отвечает на http://127.0.0.1:8095/ — ещё не выполнена
  • Повторный прогон ничего не меняет — changed=0 — ещё не выполнена
Ctrl+Enter
Запустит машину node1 · Ubuntu 24.04

Машина запускается

Подсказки

0 из 3

Цели лабы

0 из 5
  • ansible-playbook site.yml проходит без ошибок на машине без страницы статуса — ещё не выполнена
  • Плейбук создаёт системного пользователя status и каталог /var/lib/status (status:status, 0750) — ещё не выполнена
  • /etc/status/status.ini собран по шаблону templates/status.ini.j2 (root:status, 0640) — ещё не выполнена
  • Служба lab-status запущена, включена при загрузке и отвечает на http://127.0.0.1:8095/ — ещё не выполнена
  • Повторный прогон ничего не меняет — changed=0 — ещё не выполнена
node1 Ubuntu 24.04

Цели лабы

0 из 5
  • ansible-playbook site.yml проходит без ошибок на машине без страницы статуса — ещё не выполнена
  • Плейбук создаёт системного пользователя status и каталог /var/lib/status (status:status, 0750) — ещё не выполнена
  • /etc/status/status.ini собран по шаблону templates/status.ini.j2 (root:status, 0640) — ещё не выполнена
  • Служба lab-status запущена, включена при загрузке и отвечает на http://127.0.0.1:8095/ — ещё не выполнена
  • Повторный прогон ничего не меняет — changed=0 — ещё не выполнена
Загрузка…