Плагины соединения
Плагины соединения позволяют Ansible подключаться к целевым хостам, чтобы выполнять на них задачи. Ansible поставляется со многими плагинами соединения, но только один может использоваться на один хост за раз.
По умолчанию Ansible поставляется с несколькими плагинами. Наиболее часто используемые — paramiko SSH, собственный ssh (называемый просто ssh) и local типы соединения. Все они могут использоваться в плейбуках и с /usr/bin/ansible, чтобы определить, как вы хотите взаимодействовать с удалёнными машинами.
Основы этих типов соединений рассмотрены в разделе начала работы.
Плагины ssh
Поскольку ssh является протоколом по умолчанию, используемым в системном администрировании, и протоколом, наиболее часто используемым в Ansible, параметры ssh включены в инструменты командной строки. Подробности см. в ansible-playbook.
Включение плагинов соединения
Вы можете расширить Ansible для поддержки других транспортных средств (таких как SNMP или автобус сообщений), поместив пользовательский плагин в каталог connection_plugins.
Использование плагинов соединения
Транспорт можно изменить через настройки конфигурации, в командной строке (-c, --connection), в качестве ключа в вашем плейбуке или задав переменную, чаще всего в вашем инвентаре. Например, для машин 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 с помощью lxc CLI
- netconf — Обеспечивает постоянное соединение с использованием протокола netconf
- network_cli — Использование network_cli для выполнения команд на сетевых устройствах
- oc — Выполнение задач в подсистемах, работающих на OpenShift.
- paramiko_ssh — Выполнение задач через python ssh (paramiko)
- persistent — Использование постоянного сокета unix для подключения
- saltstack — Разрешение ansible на использование salt minions
- ssh — подключение через двоичный клиент ssh
- winrm — Выполнение задач через WinRM Майкрософт
- zone — Выполнение задач в экземпляре зоны
См. также
- Работа с плейбуками
- Введение в плейбуки
- Плагины обратного вызова
- Плагины обратного вызова Ansible
- Фильтры
- Плагины фильтра Jinja2
- Тесты
- Плагины тестирования Jinja2
- Поиск
- Плагины поиска Jinja2
- Плагины переменных
- Плагины переменных 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.6/plugins/connection.html