Плагины подключения
Плагины подключения позволяют Ansible подключаться к целевым хостам, чтобы выполнять на них задачи. Ansible поставляется с множеством плагинов подключения, но на один хост можно использовать только один за раз.
По умолчанию Ansible поставляется с несколькими плагинами. Наиболее часто используемые — paramiko SSH, встроенный ssh (просто называется ssh) и локальный тип подключения. Все они могут быть использованы в задачах и с /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
- napalm — Предоставляет постоянное подключение с использованием NAPALM
- netconf — Предоставляет постоянное подключение с использованием протокола netconf
- network_cli — Использование network_cli для выполнения команд на сетевых устройствах
- oc — Выполнение задач в контейнерах, запущенных на OpenShift
- paramiko_ssh — Выполнение задач через python ssh (paramiko)
- persistent — Использование постоянного unix-сокет для подключения
- podman — Взаимодействие с существующим контейнером podman
- psrp — Выполнение задач через протокол удалённого вызова процедур Microsoft PowerShell
- qubes — Взаимодействие с существующей виртуальной машиной QubesOS
- saltstack — Разрешить Ansible подключаться к узлам salt
- ssh — подключение через ssh-клиент
- vmware_tools — Выполнение задач внутри виртуальной машины через VMware Tools
- winrm — Выполнение задач через WinRM Microsoft
- zone — Выполнение задач в экземпляре зоны
См. также
- Работа с Playbook
- Введение в Playbook
- Плагины обратного вызова
- Плагины обратного вызова Ansible
- Фильтры
- Плагины фильтрации Jinja2
- Тесты
- Плагины тестов Jinja2
- Поиск
- Плагины поиска Jinja2
- Плагины переменных
- Плагины переменных Ansible
- Список рассылки пользователей
- Есть вопросы? Заходите на форум!
- irc.freenode.net
- #ansible IRC-чат
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/plugins/connection.html