Spec-Zone.ru › Ansible 2.11

Платформенные параметры с поддержкой 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 выше, затем выполните задачу playbook следующим образом:

- 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/network/user_guide/platform_netconf_enabled.html

Spec-Zone.ru

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