Установка пакета
Пакет ansible доступен в репозитории ОС ОН Орёл и в дистрибутиве ОС СН Смоленск.
Установить пакет можно с помощью графического менеджера пакетов или из командной строки командой
Command |
---|
apt install ansible |
Настройка пакета
При установке пакета создаётся каталог /etc/ansible, содержащий два конфигурационных файла:
- /etc/ansible/hosts - список хостов, с которыми работает ansible;
- /etc/ansible/ansible.cfg - файл настроек ansible.
Файл конфигурации /etc/ansible/hosts
В файле /etc/ansible/hosts указывается список хостов, с которыми должен работать ansible.
Файл снабжен достаточно подробными комментариями:
Раскрыть |
---|
# Это файл ansible 'hosts', установленный по умолчанию. # Пример 1: Хосты без групп должны быть перечислены до первого заголовка группы. #green.example.com #[webservers] # Пример 2: После заголовка [webservers] начался список хостов, входящих в группу 'webservers' #alpha.example.org # Применение шаблонов для определения нескольких хостов # здесь всё ещё группа 'webservers' #[dbservers] # Пример 3: После заголовка [dbservers] началась группа серверов баз данных 'dbservers' group #db01.intranet.mydomain.net # Еще пример диапазона имён, теперь без лидирующих нулей #db-[99:101]-node.example.com |
Дополнительно в файле /etc/ansible/hosts могут быть заданы значения переменных для определённых там хостов (сетевые адреса, псевдонимы и пр.).
Более подробная информация содержится в документации
Простейшие примеры использования
Так как ansible подключается к хостам по протоколу ssh, на каждом хосте, с которым должен работать ansible, должен быть установлен сервер и запущен ssh.
Кроме того, для безопасного подключения, должна быть настроена авторизация подключения ssh по открытому ключу.
Установить сервер ssh и настроить авторизацию по открытому ключу можно по этой инструкции.
Далее предполагаем, что в файле /etc/ansible/hosts указан список хостов, и, в примерах, будем работать со всеми указанными хостами применяя псевдоним all.
Просто пинг. Ко всем хостам (all) применяется модуль ping (-m ping):
Command |
---|
ansible -m ping all |
Инвентаризация состояния хостов. Ко всем хостам (all) применяется модуль setup (-m setup):
Command |
---|
ansible -m setup all |
Инвентаризация выводит слишком много информации, поэтому отфильтруем только информацию об объёме памяти:
Command |
---|
ansible -m setup -a 'filter=ansible_memtotal_mb' all |
С помощью модуля shell проверим на всех хостах версию ASTRALINUXAstra Linux:
Command |
---|
ansible -m shell -a 'cat /etc/astra_version' all |