Connection プラグイン¶
Connection プラグインは、Ansibleがターゲットホストに接続して、そのホストでタスクを実行できるようにします。Ansible には多くの connection プラグインが含まれていますが、1 台のホストで一度に使用できるプラグインは 1 つのみです。
デフォルトでは、Ansible には複数のプラグインが含まれます。最もよく使用されるのは、paramiko SSH、ネイティブ (ssh と呼ばれる) および ローカル 接続タイプです。 上記はすべて、Playbook や /usr/bin/ansible で使用して、リモートマシンと対話する方法を決定できます。
このような接続タイプの基本情報は、getting started のセクションで説明しています。
ssh
プラグイン¶
ssh は、システム管理でデフォルトで使用されるプロトコルであり、Ansible で最も使用されるプロトコルでもあるため、コマンドラインツールに ssh オプションが含まれています。詳細は ansible-playbook を参照してください。
Connection プラグインの追加¶
カスタムのプラグインを connection_plugins
ディレクトリーに配置して、
Ansible を拡張して他のトランスポート (SNMP またはメッセージバス) をサポートできます。
Connection プラグインの使用¶
接続プラグインは、Play で 設定、コマンドライン (-c
、--connection
) を キーワード として設定できます。または、インベントリーで最もよく使われる 変数 をグローバルに設定できます。
たとえば、Windows マシンでは winrm プラグインをインベントリー変数として設定できます。
多くの Connection プラグインは最小限の構成で動作します。デフォルトでは、inventory hostname を使用し、ターゲットホストを検索するようにデフォルト設定されています。
プラグインは、自己文書化されており、プラグインごとに、設定オプションについて文書化する必要があります。以下は、多くの connection プラグインに共通する接続変数です。
- ansible_host
- 接続するホストの名前 (インベントリー のホスト名と異なる場合)。
- ansible_port
- ssh および paramiko_ssh の ssh ポート番号は、デフォルトでは 22 に設定されます。
- ansible_user
- ログインに使用するデフォルトのユーザー名。多くのプラグインは、「Ansible を実行する現在のユーザー」にデフォルトで設定されます。
プラグインごとに、一般的なバージョンをオーバーライドする特定の変数バージョンがある場合もあります。たとえば、ssh プラグインの場合は ansible_ssh_host
です。
プラグイン一覧¶
ansible-doc -t connection -l
を使用すると、利用可能なプラグインの一覧を表示できます。
詳細にわたるドキュメントや例を参照するには、ansible-doc -t connection <plugin name>
を使用します。
- buildah – Interact with an existing buildah container
- chroot – Interact with local chroot
- docker – Run tasks in docker containers
- funcd – Use funcd to connect to target
- httpapi – Use httpapi to run command on network appliances
- iocage – Run tasks in iocage jails
- jail – Run tasks in jails
- kubectl – Execute tasks in pods running on Kubernetes
- libvirt_lxc – Run tasks in lxc containers via libvirt
- local – execute on controller
- lxc – Run tasks in lxc containers via lxc python library
- lxd – Run tasks in lxc containers via lxc CLI
- napalm – Provides persistent connection using NAPALM
- netconf – Provides a persistent connection using the netconf protocol
- network_cli – Use network_cli to run command on network appliances
- oc – Execute tasks in pods running on OpenShift
- paramiko_ssh – Run tasks via python ssh (paramiko)
- persistent – Use a persistent unix socket for connection
- podman – Interact with an existing podman container
- psrp – Run tasks over Microsoft PowerShell Remoting Protocol
- qubes – Interact with an existing QubesOS AppVM
- saltstack – Allow ansible to piggyback on salt minions
- ssh – connect via ssh client binary
- vmware_tools – Execute tasks inside a VM via VMware Tools
- winrm – Run tasks over Microsoft’s WinRM
- zone – Run tasks in a zone instance
See also
- Playbook の使用
- Playbook の概要
- Callback プラグイン
- Ansible callback プラグイン
- Filters
- Jinja2 filter プラグイン
- Tests
- Jinja2 test プラグイン
- Lookups
- Jinja2 lookup プラグイン
- vars プラグイン
- Ansible vars プラグイン
- ユーザーメーリングリスト
- ご質問はございますか。 Google Group をご覧ください。
- irc.freenode.net
- #ansible IRC chat channel