Spec-Zone.ru › Ansible 2.5

Junos OS Платформенные параметры

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

  • Доступные подключения
  • Использование CLI в Ansible 2.5
    • Пример инвентаризации CLI [junos:vars]
    • Пример задачи CLI
  • Использование NETCONF в Ansible 2.5
    • Включение NETCONF
    • Пример инвентаризации NETCONF [junos:vars]
    • Пример задачи NETCONF

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

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

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

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

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

[junos:vars]
ansible_connection=network_cli
ansible_network_os=junos
ansible_user=myuser
ansible_ssh_pass=!vault...
ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
  • Если вы используете SSH-ключи (включая ssh-agent), вы можете удалить конфигурацию ansible_ssh_pass.
  • Если вы обращаетесь к хосту напрямую (не через бастион/шлюз), вы можете удалить конфигурацию ansible_ssh_common_args.
  • Если вы обращаетесь к хосту через бастион/шлюз, вы не можете включать свой SSH-пароль в директиву ProxyCommand. Для предотвращения утечки секретов (например, в выводе ps) SSH не поддерживает предоставление паролей через переменные окружения.

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

- name: Retrieve Junos OS version
  junos_command:
    commands: show version
  when: ansible_network_os == 'junos'

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

Включение NETCONF

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

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

Чтобы включить NETCONF на новом коммутаторе через Ansible, используйте модуль junos_netconf через подключение 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_ssh_pass=!vault |
ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q bastion01"'

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

- name: Backup current switch config (junos)
  junos_config:
    backup: yes
  register: backup_junos_location
  when: ansible_network_os == 'junos'

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

Никогда не храните пароли в открытом виде. Рекомендуется использовать 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.5/network/user_guide/platform_junos.html

Spec-Zone.ru

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