Ansible - специальные команды
Специальные команды - это команды, которые можно запускать индивидуально для выполнения быстрых функций. Эти команды не нужно выполнять позже.
Например, вам необходимо перезагрузить все серверы вашей компании. Для этого вы запустите специальные команды из '/usr/bin/ansible'.
Эти специальные команды не используются для управления конфигурацией и развертывания, так как эти команды используются один раз.
ansible-playbook используется для управления конфигурацией и развертывания.
Параллелизм и команды оболочки
Перезагружайте сервер вашей компании в 12 параллельных форках за раз. Для этого нам нужно настроить SSHagent для подключения.
$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa
Чтобы выполнить перезагрузку для всех серверов вашей компании в группе abc, в 12 параллельных форках -
$ Ansible abc -a "/sbin/reboot" -f 12
По умолчанию Ansible будет запускать указанные выше специальные команды из текущей учетной записи пользователя. Если вы хотите изменить это поведение, вам нужно будет передать имя пользователя в специальных командах следующим образом:
$ Ansible abc -a "/sbin/reboot" -f 12 -u username
Передача файлов
Вы можете использовать специальные команды для выполнения SCP (Протокол безопасного копирования) множество файлов параллельно на нескольких машинах.
Передача файла на множество серверов / машин
$ Ansible abc -m copy -a "src = /etc/yum.conf dest = /tmp/yum.conf"
Создание нового каталога
$ Ansible abc -m file -a "dest = /path/user1/new mode = 777 owner = user1 group = user1 state = directory"
Удаление всего каталога и файлов
$ Ansible abc -m file -a "dest = /path/user1/new state = absent"
Управление пакетами
Команды Ad-hoc доступны для yum и apt. Ниже приведены некоторые специальные команды, использующие yum.
Следующая команда проверяет, установлен ли пакет yum, но не обновляет его.
$ Ansible abc -m yum -a "name = demo-tomcat-1 state = present"
Следующая команда проверяет, что пакет не установлен.
$ Ansible abc -m yum -a "name = demo-tomcat-1 state = absent"
Следующая команда проверяет, установлена ли последняя версия пакета.
$ Ansible abc -m yum -a "name = demo-tomcat-1 state = latest"
Сбор фактов
Факты можно использовать для реализации условных операторов в playbook. Вы можете найти специальную информацию обо всех ваших фактах с помощью следующей специальной команды -
$ Ansible all -m setup