В этой части мы создадим инвентаризационный файл, добавим группы и применим переменные
Сервера в инвентаризационном файле можно описывать вообще без групп Можно в виде имен или ip адресов, примеры: server_bsd2 ansible_host=10.0.2.8 10.0.2.8 ansible_ssh_private_key_file=~/.ssh/id_rsa
По умолчанию любой сервер принадлежит группе all Сервер вне группы принадлежит группам all и ungrouped
Мы создадим пару групп и добавим в них по серверу
Две группы - nodes_group1 и nodes_group2
В группе nodes_group2 одну из перменных оставил для вида в самой строке
Переменные в nodes_group1:vars применяются только для группы nodes_group1
Переменные в all:vars применяются для всех групп
Выполнить команду (uname -a) на серверах можно с помощью модуля shell:
ansible-3.6 all -m shell -a "uname -a"
-a - опция означающая аргумент для команды ansible
Похожий на shell модуль command (существует ряд ограничений см. оф. док.):
ansible-3.6 all -m command -a "uname -a"
Кстати более подробный вывод делается через аргументы -v:
ansible-3.6 all -m shell -a "ls -l /tmp/" -b -vvvv
Модуль copy позволяет копировать файлы на сервера:
ansible-3.6 all -m copy -a "src=/etc/hosts dest=/etc/hosts"
Необязательный параметр mode указывает права на удаленный файл (-b работа sudo):
ansible-3.6 all -m copy -a "src=/etc/hosts dest=/etc/hosts mode=664" -b
Модуль yum установит ПО (в данном случае htop последней версии):
ansible-3.6 all -m yum -a "name=htop state=latest"
Модуль yum может удалять ПО (htop):
ansible-3.6 all -m yum -a "name=htop state=absent"
А вот пример модуля service, установим nginx, включим автозагрузку и запустим:
ansible-3.6 all -m yum -a "name=nginx state=latest"
ansible-3.6 all -m service -a "name=nginx state=started enabled=yes"
Узнать подробную информацию о серверах можно так:
ansible-3.6 all -m setup
В выводе будет огромное количество информации о серерах
Переменные из вывода можно использовать с помощью ansible-playbook-3.6
Вывод документации по командам:
ansible-doc-3.6 -l
Комментарии пользователей
Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!