Книга: PyNEng
Назад: Задания
Дальше: 23. Основы Ansible

VI. Ansible

Ansible

Ansible - это система управления конфигурациями. Ansible позволяет автоматизировать и упростить настройку, обслуживание и развертывание серверов, служб, ПО и др.

На данный момент существует несколько .

Однако для работы с сетевым оборудованием чаще всего используется Ansible. Связано это с тем, что Ansible не требует установки агента на управляемые хосты. Особенно актуально это для устройств, которые позволяют работать с ними только через CLI.

Кроме того, Ansible активно развивается в сторону поддержки сетевого оборудования, и в нём постоянно появляются новые возможности и модули для работы с сетевым оборудованием.

Некоторое сетевое оборудование поддерживает другие системы управления конфигурациями (позволяет установить агента).

Одно из важных преимуществ Ansible заключается в том, что он очень прост в использовании, и с ним легко начать работать.

Примеры задач, которые поможет решить Ansible:

  • подключение по SSH к устройствам
    • параллельное подключение к устройствам по SSH (можно указывать, ко скольки устройствам подключаться одновременно)
  • отправка команд на устройства
  • удобный синтаксис описания устройств:
    • можно разбивать устройства на группы и затем отправлять какие-то команды на всю группу
  • поддержка шаблонов конфигураций с Jinja2

Это всего лишь несколько возможностей Ansible, которые относятся к сетевому оборудованию. Они перечислены для того, чтобы показать, что эти задачи Ansible сразу снимает, и можно не использовать для этого какие-то скрипты.

Установка Ansible

Ansible нужно устанавливать только на той машине, с которой будет выполняться управление устройствами.

Требования к управляющему хосту:

  • поддержка Python 3 (тестировалось на 3.6)
  • Windows не может быть управляющим хостом

В книге используется Ansible версии 2.4

Если Вы используете Ansible в работе, не только для тестов, возможно, следует использовать стабильную версию и просто использовать Python 2.7. Это легко сделать, установив Ansible в виртуальном окружении, где по умолчанию используется Python 2.7.

Если Вы хотите использовать Ansible с Python 2.7, для этого раздела лучше переключиться на книгу для Python 2.7, так как они могут отличаться.

Ansible довольно часто обновляется, поэтому лучше установить его в виртуальном окружении. Новые версии выходят примерно раз в полгода.

Установить Ansible можно .

С помощью pip Ansible можно установить таким образом:

$ pip install ansible 

Параметры оборудования

В примерах раздела используются три маршрутизатора и один коммутатор. К ним нет никаких требований, только настроенный SSH.

Параметры, которые используются в разделе:

  • пользователь: cisco
  • пароль: cisco
  • пароль на режим enable: cisco
  • SSH версии 2
  • IP-адреса:
    • R1: 192.168.100.1
    • R2: 192.168.100.2
    • R3: 192.168.100.3
    • SW1: 192.168.100.100

Если Вы будете использовать другие параметры, измените соответственно инвентарный файл, конфигурационный файл Ansible и файл group_vars/all.yml.

Назад: Задания
Дальше: 23. Основы Ansible