Spec-Zone.ru › Ansible

Параметры платформы EOS

Коллекция Arista EOS поддерживает несколько типов подключений. На этой странице подробно описано, как работает каждое подключение в Ansible и как его использовать.

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

    • Пример CLI group_vars/eos.yml
    • Пример задачи CLI
  • Использование eAPI в Ansible

    • Включение eAPI
    • Пример eAPI group_vars/eos.yml
    • Пример задачи eAPI

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

CLI

eAPI

Протокол

SSH

HTTP(S)

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

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

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

используются сертификаты HTTPS, если они доступны

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

через бастион (промежуточный узел)

через веб-прокси

Параметры подключения

ansible_connection: ansible.netcommon.network_cli

ansible_connection: ansible.netcommon.httpapi

Режим enable
(повышение привилегий)

поддерживается:

  • используйте ansible_become: true с ansible_become_method: enable

поддерживается:

  • httpapi использует ansible_become: true с ansible_become_method: enable

Формат возвращаемых данных

stdout[0].

stdout[0].messages[0].

ansible_connection: local объявлен устаревшим. Вместо него используйте ansible_connection: ansible.netcommon.network_cli или ansible_connection: ansible.netcommon.httpapi.

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

Пример CLI group_vars/eos.yml

ansible_connection: ansible.netcommon.network_cli
ansible_network_os: arista.eos.eos
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 для сетевых устройств.

  • Если вы используете ключи SSH (в том числе ssh-agent), конфигурацию ansible_password можно удалить.
  • Если вы подключаетесь непосредственно к узлу (не через бастион/промежуточный узел), конфигурацию ansible_paramiko_proxy_command можно удалить.
  • При подключении к узлу через бастион/промежуточный узел нельзя указывать пароль SSH в директиве ProxyCommand. Чтобы секреты не попали в открытый доступ (например, в выводе ps), SSH не поддерживает передачу паролей через переменные окружения.

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

- name: Backup current switch config (eos)
  arista.eos.eos_config:
    backup: yes
  register: backup_eos_location
  when: ansible_network_os == 'arista.eos.eos'

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

Включение eAPI

Прежде чем подключаться к коммутатору через eAPI, необходимо включить eAPI. Чтобы включить eAPI на новом коммутаторе с помощью Ansible, используйте модуль arista.eos.eos_eapi через подключение CLI. Настройте group_vars/eos.yml так же, как в приведенном выше примере CLI, а затем запустите задачу плейбука, например:

- name: Enable eAPI
  arista.eos.eos_eapi:
    enable_http: yes
    enable_https: yes
  become: true
  become_method: enable
  when: ansible_network_os == 'arista.eos.eos'

Дополнительные параметры для включения подключений HTTP/HTTPS см. в документации модуля arista.eos.eos_eapi.

После включения eAPI измените group_vars/eos.yml, чтобы использовать подключение eAPI.

Пример eAPI group_vars/eos.yml

ansible_connection: ansible.netcommon.httpapi
ansible_network_os: arista.eos.eos
ansible_user: myuser
ansible_password: !vault...
ansible_become: true
ansible_become_method: enable
proxy_env:
  http_proxy: http://proxy.example.com:8080
  • Если вы подключаетесь непосредственно к узлу (не через веб-прокси), конфигурацию proxy_env можно удалить.
  • Если вы подключаетесь к узлу через веб-прокси с помощью https, замените http_proxy на https_proxy.

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

- name: Backup current switch config (eos)
  arista.eos.eos_config:
    backup: yes
  register: backup_eos_location
  environment: "{{ proxy_env }}"
  when: ansible_network_os == 'arista.eos.eos'

В этом примере переменная proxy_env, определенная в group_vars, передается параметру environment модуля в задаче.

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

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

См. также

Настройка параметров тайм-аута

© 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_eos.html

Spec-Zone.ru

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