Spec-Zone.ru › Ansible 2.9

Варианты платформы NXOS

Cisco NXOS поддерживает несколько соединений. Эта страница содержит подробную информацию о работе каждого соединения в Ansible и о способе его использования.

  • Доступные соединения
  • Использование CLI в Ansible
    • Пример CLI group_vars/nxos.yml
    • Пример задачи CLI
  • Использование NX-API в Ansible
    • Включение NX-API
    • Пример NX-API group_vars/nxos.yml
    • Пример задачи NX-API
  • Матрица совместимости платформ Cisco Nexus

Доступные соединения

CLI NX-API
Протокол SSH HTTP(S)
Учетные данные

использует ключи SSH / SSH-agent, если присутствуют

принимает -u myuser -k при использовании пароля

использует сертификаты HTTPS, если присутствуют
Непрямой доступ через бастион (хост перехода) через веб-прокси
Настройки соединения ansible_connection: network_cli

ansible_connection: httpapi

ИЛИ

ansible_connection: local с transport: nxapi в словаре provider

Режим включения
(эскалация привилегий)
поддерживается с версии 2.5.3
поддерживается: используйте ansible_become: yes с ansible_become_method: enable и ansible_become_password: не поддерживается NX-API
Формат возвращаемых данных stdout[0]. stdout[0].messages[0].

Для устаревших playbooks NXOS по-прежнему поддерживает ansible_connection: local. Рекомендуется как можно скорее перейти на использование ansible_connection: network_cli или ansible_connection: httpapi.

Использование CLI в Ansible

Пример 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.
  • Если вы обращаетесь к своему хосту напрямую (не через бастион/хост перехода), вы можете удалить конфигурацию ansible_ssh_common_args.
  • Если вы обращаетесь к своему хосту через бастион/хост перехода, вы не можете включать свой пароль SSH в директиву ProxyCommand. Для предотвращения утечки секретов (например, в выводе ps), SSH не поддерживает предоставление паролей через переменные окружения.

Пример задачи CLI

- name: Backup current switch config (nxos)
  nxos_config:
    backup: yes
  register: backup_nxos_location
  when: ansible_network_os == 'nxos'

Использование NX-API в Ansible

Включение NX-API

Прежде чем вы сможете использовать NX-API для подключения к коммутатору, необходимо включить NX-API. Чтобы включить NX-API на новом коммутаторе через Ansible, используйте модуль nxos_nxapi через подключение CLI. Настройте group_vars/nxos.yml так же, как в примере CLI выше, затем выполните задачу playbook следующим образом:

- name: Enable NX-API
   nxos_nxapi:
       enable_http: yes
       enable_https: yes
   when: ansible_network_os == 'nxos'

Чтобы узнать больше о параметрах для включения HTTP/HTTPS и локального http, см. документацию модуля nxos_nxapi.

После включения NX-API измените group_vars/nxos.yml для использования подключения NX-API.

Пример 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
  • Если вы обращаетесь к своему хосту напрямую (не через веб-прокси), вы можете удалить конфигурацию proxy_env.
  • Если вы обращаетесь к своему хосту через веб-прокси, используя https, измените 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'

В этом примере переменная proxy_env, определенная в group_vars, передается в параметр environment используемого в задаче модуля.

Предупреждение

Никогда не храните пароли в открытом виде. Рекомендуется использовать ключи SSH для аутентификации подключений SSH. Ansible поддерживает ssh-agent для управления вашими ключами SSH. Если вам необходимо использовать пароли для аутентификации подключений SSH, мы рекомендуем шифровать их с помощью Ansible Vault.

Матрица совместимости платформ Cisco Nexus

Следующие платформы и версии программного обеспечения были сертифицированы компанией Cisco для работы с этой версией Ansible.

Минимальные требования к платформе/программному обеспечению
Поддерживаемые платформы Минимальная версия NX-OS
Cisco Nexus N3k 7.0(3)I2(5) и более поздние
Cisco Nexus N9k 7.0(3)I2(5) и более поздние
Cisco Nexus N5k 7.3(0)N1(1) и более поздние
Cisco Nexus N6k 7.3(0)N1(1) и более поздние
Cisco Nexus N7k 7.3(0)D1(1) и более поздние
Модели платформ
Платформа Описание
N3k Поддержка включает модели N30xx, N31xx и N35xx
N5k Поддержка включает все модели N5xxx
N6k Поддержка включает все модели N6xxx
N7k Поддержка включает все модели N7xxx
N9k Поддержка включает все модели N9xxx

© 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/network/user_guide/platform_nxos.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API