Глава 3: Ad-Hoc команды
В предыдущей главе мы создали VM с Vagrant, написав очень простой Ansible playbook. До сих пор мы использовали простые Ansible ad-hoc команды для запуска команд на удаленном сервере.
Мы будем углубляться в playbooks в предстоящих главах; на данный момент мы рассмотрим, как Ansible помогает быстро выполнять общие задачи и собирать данные с одного или нескольких серверов с помощью специальных команд.
Число серверов, управляемых системным администратором, за последнее десятилетие резко возросло. В результате администраторам пришлось искать новые способы управления серверами.
Системный администратор имеет множество задач:
- Установка патчей и обновлений через систему yum, apt, и других менеджеров пакетов.
- Проверка использования ресурсов (пространство на диске, память, ЦП, swap, сеть).
- Проверка логов.
- Управление пользователями и группами системы.
- Управление параметрами DNS, файлами Hosts и т. д.
- Копирование файлов на серверы и с серверов.
- Развертывание приложений или обслуживания приложений.
- Перезагрузка серверов.
- Управление заданиями cron.
Почти все эти задачи могут быть (и, как правило, являются) по крайней мере частично автоматизированными, но некоторые из них часто нуждаются в человеческом присутствии, особенно когда речь идет о диагностике проблем в реальном времени.
Ansible позволяет администраторам запускать нерегламентированные команды на одном или нескольких компьютерах одновременно с помощью команды ansible
. В главе 1 мы запустили пару команд (ping
и free -m
) на сервере, который мы добавили в инвентарный файл Ansible. В этой главе будут рассмотрены специальные команды и среды с несколькими серверами более подробно. Вы сможете гораздо эффективнее управлять серверами после чтения этой главы.