Начало – Ansible: установка и первоначальная настройка.
Большинство действий на удалённых хостах (нодах) можно выполнить с помощью модулей Ansible.
Полный список модулей, разбитый по категориям, можно найти тут>>>.
Например – модуль shell позволяет выполнять консольные команды на сервере:
$ ansible all -m shell -a 'echo $HOSTNAMEE' cent_ans_serv | success | rc=0 >> cent_ans_client1 | success | rc=0 >>
Ключ -a
для модуля shell
используется для передачи ему аргументов.
Так же можно установить и какое-то приложение, например – lftp
.
Добавим пользователя setevoy
в sudoers
, и разрешим ему выполнение команды без ввода пароля – вызываем visudo
, добавляем строку:
setevoy ALL=(ALL) NOPASSWD: ALL
Повторяем на обоих хостах, после чего выполняем установку:
$ ansible all -s -m shell -a 'yum -y install lftp' ... cent_ans_serv | success | rc=0 >> Loaded plugins: fastestmirror, security ... Installed: lftp.i686 0:4.0.9-1.el6_5.1 Complete!
Конечно, такой подход к установке пакетов не самый удобный. Поэтому – можно использовать модуль yum.
Например, установка nmap
на всех хостах с помощью модуля yum
выглядит так:
$ ansible all -s -m yum -a 'name=nmap state=latest'
Проверяем:
$ yum list installed | grep nmap nmap.i686 2:5.51-4.el6 @base
Ansible имеет огромное количество встроенных модулей, даже такие как ec2 – для управления серверами EC2 в AWS, или portinstall – для управления портами FreeBSD. Имеются и модули сторонних разработчиков, например – ansible-bamboo для управления сервером Bamboo.