Плагины подключения
Плагины подключения позволяют Ansible подключаться к целевым хостам, чтобы выполнять на них задачи. Ansible поставляется со многими плагинами подключения, но на один хост можно использовать только один за раз.
По умолчанию Ansible поставляется с несколькими плагинами. Наиболее часто используемые — SSH с paramiko, базовый 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 library
- 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 minions
- ssh — подключение через ssh клиентскую утилиту
- vmware_tools — Выполнение задач внутри виртуальной машины через VMware Tools
- winrm — Выполнение задач через Microsoft WinRM
- zone — Выполнение задач в экземпляре зоны
См. также
- Работа с плейбуками
- Введение в плейбуки
- Плагины обратного вызова
- Плагины обратного вызова Ansible
- Фильтры
- Плагины фильтров Jinja2
- Тесты
- Плагины тестов Jinja2
- Поиск
- Плагины поиска Jinja2
- Плагины переменных
- Плагины переменных Ansible
- Список рассылки пользователей
- У вас есть вопрос? Заходите на группу Google!
- 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.9/plugins/connection.html