Плагины подключения
Плагины подключения позволяют Ansible подключаться к целевым хостам, чтобы выполнять на них задачи. Ansible поставляется со многими плагинами подключения, но только один может использоваться для каждого хоста одновременно.
По умолчанию Ansible поставляется с несколькими плагинами. Наиболее часто используемые — SSH с использованием Paramiko, собственный ssh (просто ssh) и локальное подключение. Все они могут использоваться в playbooks и с /usr/bin/ansible, чтобы определить, как вы хотите взаимодействовать с удалёнными машинами.
Основы этих типов подключения рассматриваются в разделе начало работы.
Плагины SSH
Поскольку ssh является стандартным протоколом, используемым в администрировании систем, и протоколом, наиболее часто используемым в Ansible, параметры ssh включены в инструменты командной строки. Подробнее см. ansible-playbook.
Включение плагинов подключения
Вы можете расширить Ansible, чтобы он поддерживал другие транспортные средства (такие как SNMP или шина сообщений), поместив пользовательский плагин в каталог connection_plugins.
Использование плагинов подключения
Транспортное средство можно изменить с помощью настроек, в командной строке (-c, --connection), в качестве ключа в вашем playbook или путём задания переменной, чаще всего в вашем инвентаре. Например, для машин Windows вы можете использовать плагин winrm.
Большинство плагинов подключения могут работать с минимальной конфигурацией. По умолчанию они используют имя хоста в инвентаре и значения по умолчанию для поиска целевого хоста.
Плагины самодокументированы. Каждый плагин должен документировать свои параметры конфигурации. Ниже приведены переменные подключения, общие для большинства плагинов подключения:
- ansible_host
- Имя хоста, к которому необходимо подключиться, если оно отличается от имени хоста в инвентаре.
- ansible_port
- Номер порта ssh для ssh и paramiko_ssh по умолчанию равен 22.
- ansible_user
- Имя пользователя по умолчанию для входа. Большинство плагинов по умолчанию используют «текущего пользователя, выполняющего Ansible».
Каждый плагин может также иметь определённую версию переменной, которая переопределяет общую версию. Например, ansible_ssh_host для плагина ssh.
Список плагинов подключения
Вы можете использовать ansible-doc -t connection -l для просмотра списка доступных плагинов. Используйте ansible-doc -t connection <plugin name> для просмотра подробной документации и примеров.
- buildah — взаимодействие с существующим контейнером buildah
- chroot — взаимодействие с локальным chroot
- docker — выполнение задач в контейнерах docker
- funcd — использование funcd для подключения к цели
- httpapi — использование httpapi для выполнения команд на сетевых устройствах
- iocage — выполнение задач в тюрьмах iocage
- jail — выполнение задач в тюрьмах
- kubectl — выполнение задач в под-процессах, работающих в Kubernetes.
- libvirt_lxc — выполнение задач в контейнерах lxc через libvirt
- local — выполнение на контроллере
- lxc — выполнение задач в контейнерах lxc с помощью lxc python библиотеки
- lxd — выполнение задач в контейнерах lxc через lxd CLI
- netconf — обеспечивает постоянное подключение с использованием протокола netconf
- network_cli — использование network_cli для выполнения команд на сетевых устройствах
- oc — выполнение задач в под-процессах, работающих в OpenShift.
- paramiko_ssh — выполнение задач через python ssh (paramiko)
- persistent — использование постоянного unix сокета для подключения
- psrp — выполнение задач через Microsoft PowerShell Remoting Protocol
- saltstack — позволяет ansible использовать salt minions
- ssh — подключение через ssh клиентскую программу
- winrm — выполнение задач через Microsoft WinRM
- zone — выполнение задач в экземпляре зоны
См. также
- Работа с playbooks
- Введение в playbooks
- Плагины обратного вызова
- Плагины обратного вызова Ansible
- Фильтры
- Плагины фильтров Jinja2
- Тесты
- Плагины тестов Jinja2
- Поиск
- Плагины поиска Jinja2
- Плагины Vars
- Плагины переменных Ansible
- Пользовательский список рассылки
- Есть вопросы? Загляните в группу Google!
- irc.freenode.net
- Канал IRC чата #ansible
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/plugins/connection.html