Варианты платформы EOS
Коллекция Arista EOS поддерживает несколько соединений. Эта страница содержит подробную информацию о работе каждого соединения в Ansible и о способах его использования.
Доступные соединения
CLI | eAPI | |
|---|---|---|
Протокол | SSH | HTTP(S) |
Учетные данные |
использует ключи SSH / SSH-агент, если присутствуют принимает | использует сертификаты HTTPS, если присутствуют |
Непрямой доступ | через бастион (шлюз) | через веб-прокси |
Настройки соединения |
|
|
Режим включения |
поддерживается:
|
поддерживается:
|
Формат возвращаемых данных |
|
|
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: yes ansible_become_method: enable ansible_become_password: !vault... ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
- Если вы используете ключи SSH (включая ssh-агент), вы можете удалить конфигурацию
ansible_password. - Если вы подключаетесь к хосту напрямую (не через бастион/шлюз), вы можете удалить конфигурацию
ansible_ssh_common_args. - Если вы подключаетесь к хосту через бастион/шлюз, вы не можете включить свой пароль 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: yes 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-агент для управления вашими ключами SSH. Если вам необходимо использовать пароли для аутентификации подключений SSH, рекомендуется шифровать их с помощью Ansible Vault.
См. также
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/network/user_guide/platform_eos.html