第2章 Playbook を使用した管理対象ノードへの接続確立
認証情報を確認するには、手動でネットワークデバイスに接続し、その設定を取得します。サンプルユーザー名とデバイス名は、実際の認証情報に置き換えます。
たとえば、VyOS ルーターの場合は以下のようになります。
ssh my_vyos_user@vyos.example.net show config exit
ssh my_vyos_user@vyos.example.net
show config
exit
2.1. ネットワークの Ansible コマンドの実行 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ネットワークデバイスに手動で接続してコマンドを実行する代わりに、単一の Ansible コマンドでその設定を取得できます。
ansible all -i vyos.example.net, -c ansible.netcommon.network_cli -u \ my_vyos_user -k -m vyos.vyos.vyos_facts -e \ ansible_network_os=vyos.vyos.vyos
ansible all -i vyos.example.net, -c ansible.netcommon.network_cli -u \
my_vyos_user -k -m vyos.vyos.vyos_facts -e \
ansible_network_os=vyos.vyos.vyos
このコマンドのフラグは、7 つの値を設定します。
-
コマンドを適用するホストグループ (この場合は
all) -
インベントリー (
-i、ターゲットに設定するデバイス (最後のコンマがない-iはインベントリーファイルの指定がありません)) -
接続方法 (
-c、ansible の接続方法および実行方法) -
ユーザー (
-u、SSH 接続のユーザー名) -
SSH 接続方法 (
-k、パスワードの入力を求めるプロンプト) -
モジュール (
-m、完全修飾コレクション名 (FQCN) を使用した、実行する Ansible モジュール) -
追加変数 (
-e、この場合はネットワーク OS 値の設定)
注記
ssh 鍵で ssh-agent を使用する場合は、Ansible が自動的にそれらを読み込みます。-k フラグは省略できます。
仮想環境で Ansible を実行している場合は、変数 ansible_python_interpreter=/path/to/venv/bin/python も追加する必要があります。