MyTetra Share
Делитесь знаниями!
Ansible: модули
Время создания: 27.11.2019 09:08
Автор: setevoy
Текстовые метки: linux, ansible, оркестрация, настройка
Раздел: Компьютер - Linux - Оркестрация - Ansible

Большинство действий на удалённых хостах (нодах) можно выполнить с помощью модулей Ansible.

Полный список модулей, разбитый по категориям, можно найти в официальной документации:


https://docs.ansible.com/ansible/latest/modules/modules_by_category.html


Например — модуль 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.


 
MyTetra Share v.0.53
Яндекс индекс цитирования