Ansible массовая установка и конфигурирование OpenVPN клиентов

Цель моей работы - предложение широкого ассортимента IT услуг на постоянно высоком качестве. Для этого я постоянно прохожу дополнительное обучение и совершенствую свои навыки на практике.

Ansible массовая установка и конфигурирование OpenVPN клиентов

Характеристики
Категория:
Компьютерные сети и сервера
Заказчик:
Организация
Описание проекта

Задача: Установка OpenVPN клиентов на сотни компьютеров, только с установленными Ubuntu Xenial и их настройка. 

Планирование: Можно с ума сойти, устанавливая и настраивая на сотни компьютеров OpenVPN, а так как на клиентах установлен Linux то сам Бог велел использовать Ansible.

Решение. Первым делом в Ansible я создал роль под названием install_openvpn. В плейбуке эту роль запускаю под sudo, что бы установка прошла без ошибок. SSL ключи, адрес подключение, порт и протакол я внёс в переменные, что бы после я мог собирать конфиг динамически. Ansible в качестве шаблонов использует Jinja2, чей синтаксис мне пришлось вспомнить и повозиться. Так же требуется установить VPN только на компьютеры только с Ubuntu Xenial, поэтому все задания (такси) я помещаю в один блок, который выполняю с условием when: ansible_distribution_release == "xenial". Ну и всё, теперь добавляем нужные компьютеры в файл inventory и всё, готово. Сначала новую роль Ansible я протестировал на виртуальных машинах, а после уже готовую роль пустил в продакшен.