Spec-Zone.ru › Ansible 2.9

Возможности платформы с поддержкой Netconf

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

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

Доступные подключения

NETCONF

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

Протокол XML через SSH
Учетные данные

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

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

Непрямой доступ через бастион (шлюз)
Настройки подключения ansible_connection: netconf

Для устаревших playbooks Ansible по-прежнему поддерживает ansible_connection=local только для модуля netconf_config. Рекомендуется как можно скорее перейти на использование ansible_connection=netconf.

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

Включение NETCONF

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

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

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

- name: Enable NETCONF
  connection: network_cli
  junos_netconf:
  when: ansible_network_os == 'junos'

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

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

[junos:vars]
ansible_connection=netconf
ansible_network_os=junos
ansible_user=myuser
ansible_password=!vault |

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

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

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

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

Примечание: для настраиваемых переменных плагина подключения netconf см. 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-агент.

Автообнаружение 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.9/network/user_guide/platform_netconf_enabled.html

Spec-Zone.ru

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