Spec-Zone.ru › Ansible

Параметры платформы с поддержкой Netconf

На этой странице подробно описано, как работает соединение netconf в Ansible и как его использовать.

  • Доступные соединения
  • Использование NETCONF в Ansible

    • Включение NETCONF
    • Пример инвентаризации NETCONF [junos:vars]
    • Пример задачи NETCONF
    • Пример задачи NETCONF с настраиваемыми переменными
    • Настройка бастиона/шлюза
    • Автообнаружение ansible_network_os

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

NETCONF

все модули, кроме junos_netconf, который включает NETCONF

Протокол

XML по SSH

Учетные данные

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

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

Непрямой доступ

через бастион (шлюз)

Настройки соединения

ansible_connection: ansible.netcommon.netconf

ansible_connection: local устарел. Используйте ansible_connection: ansible.netcommon.netconf вместо него.

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

Включение NETCONF

Перед использованием NETCONF для подключения к коммутатору необходимо:

  • установить пакет Python ncclient на контрольном узле(ах) с pip install ncclient
  • включить NETCONF на устройстве(ах) Junos OS

Для включения NETCONF на новом коммутаторе через Ansible используйте модуль, специфичный для платформы, через подключение CLI или настройте его вручную. Например, настройте переменные на уровне платформы, как в примере CLI выше, а затем выполните задачу плейбука следующим образом:

- name: Enable NETCONF
  connection: ansible.netcommon.network_cli
  junipernetworks.junos.junos_netconf:
  when: ansible_network_os == 'junipernetworks.junos.junos'

После включения NETCONF измените переменные, чтобы использовать подключение NETCONF.

Пример инвентаризации NETCONF [junos:vars]

[junos:vars]
ansible_connection=ansible.netcommon.netconf
ansible_network_os=junipernetworks.junos.junos
ansible_user=myuser
ansible_password=!vault |

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

- name: Backup current switch config
  junipernetworks.junos.netconf_config:
    backup: yes
  register: backup_junos_location

Пример задачи NETCONF с настраиваемыми переменными

- name: configure interface while providing different private key file path
  junipernetworks.junos.netconf_config:
    backup: yes
  register: backup_junos_location
  vars:
    ansible_private_key_file: /home/admin/.ssh/newprivatekeyfile

Примечание: Для настраиваемых переменных плагина подключения netconf см. ansible.netcommon.netconf.

Настройка бастиона/шлюза

Для использования шлюза для подключения к устройству с поддержкой NETCONF необходимо установить переменную среды ANSIBLE_NETCONF_SSH_CONFIG.

ANSIBLE_NETCONF_SSH_CONFIG can be set to either:
  • 1 или TRUE (для запуска использования файла конфигурации SSH по умолчанию ~/.ssh/config)
  • Абсолютный путь к пользовательскому файлу конфигурации SSH.

Файл конфигурации SSH должен выглядеть примерно так:

Host *
  proxycommand ssh -o StrictHostKeyChecking=no -W %h:%p jumphost-username@jumphost.fqdn.com
  StrictHostKeyChecking no

Авторизация для шлюза должна использовать аутентификацию на основе ключа.

Вы можете указать закрытый ключ, используемый в файле конфигурации SSH:

IdentityFile "/absolute/path/to/private-key.pem"

Или использовать ssh-agent.

Автообнаружение ansible_network_os

Если ansible_network_os не указано для узла, Ansible попытается автоматически определить, какой плагин network_os использовать.

Автообнаружение ansible_network_os также можно инициировать, используя auto в качестве ansible_network_os. (Примечание: ранее использовалось default вместо auto).

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

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

См. также

Установка параметров таймаута

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/network/user_guide/platform_netconf_enabled.html

Spec-Zone.ru

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