Параметры платформы NXOS
Cisco NXOS поддерживает несколько способов подключения. На этой странице описано, как работает каждый способ подключения в Ansible и как его использовать.
Доступные способы подключения
CLI | NX-API | |
|---|---|---|
Протокол | SSH | HTTP(S) |
Учетные данные |
используются ключи SSH / ssh-agent, если они доступны при использовании пароля требуется | используются сертификаты HTTPS, если они доступны |
Опосредованный доступ | через бастион (промежуточный узел) | через веб-прокси |
Параметры подключения |
|
|
Режим enable | поддерживается: используйте | не поддерживается NX-API |
Формат возвращаемых данных |
|
|
ansible_connection: local устарел. Вместо него используйте ansible_connection: ansible.netcommon.network_cli или ansible_connection: ansible.netcommon.httpapi.
Использование CLI в Ansible
Пример CLI group_vars/nxos.yml
ansible_connection: ansible.netcommon.network_cli ansible_network_os: cisco.nxos.nxos ansible_user: myuser ansible_password: !vault... ansible_become: true ansible_become_method: enable ansible_become_password: !vault... ansible_paramiko_proxy_command: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
Примечание
Переменная ansible_paramiko_proxy_command устарела вместе с модулем подключения на основе Paramiko. Вместо неё используйте ansible_libssh_proxy_command с модулем подключения libssh. Подробнее о переходе с Paramiko на libssh см. в статье Переход на ssh_type libssh для ansible.netcommon.network_cli во всех коллекциях Ansible Networking.
- Если вы используете ключи SSH (включая ssh-agent), конфигурацию
ansible_passwordможно удалить. - Если вы подключаетесь к узлу напрямую (не через бастион/промежуточный узел), конфигурацию
ansible_paramiko_proxy_commandможно удалить. - Если вы подключаетесь к узлу через бастион/промежуточный узел, нельзя указывать пароль SSH в директиве
ProxyCommand. Чтобы секретные данные не попали в вывод (например, в выводps), SSH не поддерживает передачу паролей через переменные окружения.
Пример задачи CLI
- name: Backup current switch config (nxos)
cisco.nxos.nxos_config:
backup: yes
register: backup_nxos_location
when: ansible_network_os == 'cisco.nxos.nxos'
Использование NX-API в Ansible
Включение NX-API
Прежде чем подключаться к коммутатору с помощью NX-API, необходимо включить NX-API. Чтобы включить NX-API на новом коммутаторе с помощью Ansible, используйте модуль nxos_nxapi через CLI-подключение. Настройте group_vars/nxos.yml так же, как в примере CLI выше, а затем запустите задачу плейбука, например:
- name: Enable NX-API
cisco.nxos.nxos_nxapi:
enable_http: yes
enable_https: yes
when: ansible_network_os == 'cisco.nxos.nxos'
Дополнительные сведения о параметрах включения HTTP/HTTPS и локального HTTP см. в документации модуля nxos_nxapi.
После включения NX-API измените group_vars/nxos.yml, чтобы использовать подключение NX-API.
Пример NX-API group_vars/nxos.yml
ansible_connection: ansible.netcommon.httpapi ansible_network_os: cisco.nxos.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)
cisco.nxos.nxos_config:
backup: yes
register: backup_nxos_location
environment: "{{ proxy_env }}"
when: ansible_network_os == 'cisco.nxos.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) и новее |
Cisco Nexus MDS | 8.4(1) и новее (совместимость см. в документации соответствующего модуля) |
Платформа | Описание |
|---|---|
N3k | Поддерживаются модели N30xx, N31xx и N35xx |
N5k | Поддерживаются все модели N5xxx |
N6k | Поддерживаются все модели N6xxx |
N7k | Поддерживаются все модели N7xxx |
N9k | Поддерживаются все модели N9xxx |
MDS | Поддерживаются все модели MDS 9xxx |
См. также
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/network/user_guide/platform_nxos.html