Linux Labs

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

Инвентарь и разовые команды

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

Шаг 1 из 5 · на машине · 6 мин

Ansible не подключился к машине

Чему научишься

  • Описывать машины в инвентаре — имя, адрес ansible_host, пользователь ansible_user, группа — и по ответу UNREACHABLE находить, что в строке не так.
  • Выполнять разовые команды ansible <машины> -m <модуль> -a '…' и отличать ответ CHANGED от SUCCESS.
  • Запускать модуль от root ключом -b и описывать в инвентаре машину, к которой Ansible подключается без SSH.

Сервер приложения app1 настраивают через Ansible: программа входит на машины по SSH и делает там работу по описанию. Коллега оставил в ~/ansible-lab файл со списком машин. Прежде чем что-то менять, проверь связь: команда ansible all -m ping обходит все машины из списка.

Упражнение · посмотреть

Проверь связь с машиной из списка

В каталоге ~/ansible-lab посмотри список машин коллеги, проверь связь с ними командой ansible all -m ping и найди в /etc/hosts строки с lab.test.

Сначала предположи

В списке одна машина — app1. Что Ansible ответит про неё?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Проверь себя 1 вопрос

Ansible ответил про app1 «UNREACHABLE!». Почему он не подключился?

  • UNREACHABLE! — ошибка подключения, модуль не запускался. Модуль Ansible привозит на машину сам при каждом запуске.

  • SSH даже не нашёл адрес — «Could not resolve hostname»: до службы дело не дошло. systemctl is-active ssh ответит active.

  • Ansible запустился и напечатал ответ — права у student есть. Сообщение в ответе — про имя машины: Could not resolve hostname.

SSH не нашёл адрес app1.lab.test: такого имени нет в /etc/hosts.

Ubuntu 24.04
Загрузка…