NXOS プラットフォームのオプション¶
Cisco NXOS は、複数の接続に対応します。このページには、各接続が Ansible でどのように機能するか、およびその使用方法に関する詳細が記載されています。
トピック
利用可能な接続¶
レガシー Playbook の場合でも、NXOS は ansible_connection: local
に対応します。できるだけ早期に ansible_connection: network_cli
または ansible_connection: httpapi
を使用するモダナイゼーションが推奨されます。
Ansible での CLI の使用¶
CLI の例: group_vars/nxos.yml
¶
ansible_connection: network_cli
ansible_network_os: nxos
ansible_user: myuser
ansible_password: !vault...
ansible_become: yes
ansible_become_method: enable
ansible_become_password: !vault...
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
- SSH キー (ssh-agent を含む) を使用している場合は、
ansible_password
設定を削除できます。 - (bastion/ジャンプホスト を経由せず) ホストに直接アクセスしている場合は、
ansible_ssh_common_args
設定を削除できます。 - bastion/ジャンプホスト 経由でホストにアクセスしている場合は、SSH パスワードを
ProxyCommand
ディレクティブに含めることができません。(ps
出力などで) シークレットの漏えいを防ぐために、SSH は環境変数によるパスワードの提供に対応していません。
Ansible での NX-API の使用¶
NX-API の有効化¶
NX-API を使用してスイッチに接続するには、NX-API を有効にする必要があります。Ansible 経由で新規スイッチで NX-API を有効にするには、CLI 接続で nxos_nxapi
モジュールを使用します。上記の CLI の例のように group_vars/nxos.yml を設定し、以下のような Playbook タスクを実行します。
- name:NX-API の有効化
nxos_nxapi:
enable_http: yes
enable_https: yes
when: ansible_network_os == 'nxos'
HTTP/HTTPS およびローカル http を有効にするオプションの詳細は、nxos_nxapi モジュールのドキュメントを参照してください。
NX-API が有効になったら、NX-API 接続を使用するように group_vars/nxos.yml
を変更します。
NX-API group_vars/nxos.yml
の例¶
ansible_connection: httpapi
ansible_network_os: nxos
ansible_user: myuser
ansible_password: !vault...
proxy_env:
http_proxy: http://proxy.example.com:8080
- (Web プロキシーを経由せず) ホストに直接アクセスしている場合は、
proxy_env
設定を削除できます。 https
を使用して Web プロキシー経由でホストにアクセスする場合は、http_proxy
をhttps_proxy
に変更します。
NX-API タスクの例¶
- name:Backup current switch config (nxos)
nxos_config:
backup: yes
register: backup_nxos_location
environment: "{{ proxy_env }}"
when: ansible_network_os == 'nxos'
この例では、group_vars
で定義された proxy_env
変数は、タスクのモジュールで使用される environment
オプションに渡されます。
Warning
Never store passwords in plain text. We recommend using SSH keys to authenticate SSH connections. Ansible supports ssh-agent to manage your SSH keys. If you must use passwords to authenticate SSH connections, we recommend encrypting them with Ansible Vault.
Cisco Nexus Platform のサポートマトリックス¶
以下のプラットフォームおよびソフトウェアのバージョンは、Cisco が本バージョンの Ansible で機能することが認定されています。