Большой популярностью для комплексной автоматизации пользуются два продукта ПО – Ansible и OpenStack. Их чаще всего заказывают у нас для настройки. Как с помощью Full-Stack Automation можно упростить часто выполняемые операции на многих уровнях, в том числе и в облачной инфраструктуре?n
Уровни комплексной автоматизации и модули управления Ansible
Чтобы разобраться, как работает Full-Stack Automation с применением Ansible + OpenStack, необходимо рассматривать уровни автоматизации в комплексе. Ansible предоставляет модули, с помощью которых можно управлять каждым из уровней.n
- n
- уровень: оборудование – сетевое, серверы, системы хранения данных.
- уровень: операционная система – Linux, Windows. Взаимодействие с ОС стандартное:n
- установка пакетов;
- изменение/принудительное применение содержимого либо прав доступа к файлам;
- управление службами;
- создание, удаление пользователей, групп пользователей.
- уровень: вычислительные ресурсы, сети, хранилища – ПО IaaS с сопутствующими компонентами. Используется два установщика на основе Ansible: OpenStack-ansible или CloudStack.
- уровень: виртуальные ресурсы. Они настраиваются с учетом прав доступа, контента, профиля безопасности, параметров сетевого подключения, с применением следующих модулей Ansible:n
- OpenStack (Nova, Neutron), в основе которых библиотека OpenStack Shade;
- netconf (управляют не только виртуальными ресурсами);
- VMware vSphere Ansible;
- RHV/oVirt/Libvirt (последняя только для KVM);
- модули для поставщиков облачного сервиса.
- уровень: гостевая ОС. Используется инструмент Ansible Dynamic Inventory, который динамически опрашивает уровень IaaS и BM с целью выявления гостевых систем. К тому же динамичным становится и управление активами, что полезно для тех, кто применяет в облачной инфраструктуре Auto Scaling Groups – группы автомасштабирования.
- уровень: контейнеры. Модули управления ними:n
- Docker;
- Kubernetes;
- Atomic Host.
- уровень: арендованное ПО. Для управления используется модуль Ansible Galaxy, который является репозиторием рецептов для развертывания ПО. К тому же он позволяет управлять и веб-инфраструктурой, определяя, как приложение развертывается на соответствующем сервере.
nСледует учитывать, что определенные функции модулей Ansible могут быть доступны только в новейших версиях.n
Наши рекомендации
Ansible является инструментом командной строки, который пишется на языке Python. Он не исключает наличие нескольких версий в одной ОС. В связи с этим усиление безопасности в Ansible может не понадобиться. Но специалисты не советуют использовать вместе с системными библиотеками непроверенные новые. Это может повлиять на функционирование других приложений. Чтобы не допустить подобных нарушений, последнюю версию Ansible рекомендуют устанавливать в отдельную папку под непривилегированной учетной записью (такая практика не подходит для производственной среды).n
Если Вам необходима автоматизация, обращайтесь [email protected]