Вы слышали о Ansible ?Он выполняет ту работу, которую вы хотите сделать, и написан в основном на python.
Развертывание приложений, управление конфигурацией и оркестровка - все из одной системы.Ansible - это простая автоматизация без агентов, которую может использовать каждый.
Ansible Documentaion
Короче говоря, вы пишете плейбоксы (шаблоны .yaml).Проще говоря, игровые книги являются основой для действительно простого управления конфигурацией и системой развертывания на нескольких машинах, в отличие от уже существующей, и той, которая очень хорошо подходит для развертывания сложных приложений.
Пример playbook:
---
- hosts: webservers
vars:
http_port: 80
max_clients: 200
remote_user: root
tasks:
- name: ensure apache is at the latest version
yum:
name: httpd
state: latest
- name: write the apache config file
template:
src: /srv/httpd.j2
dest: /etc/httpd.conf
notify:
- restart apache
- name: ensure apache is running
service:
name: httpd
state: started
handlers:
- name: restart apache
service:
name: httpd
state: restarted
Когда вы создадите playbook, который соответствует вашим потребностям, просто запустите его на своем компьютере или перечислите их.Существует огромный список модулей , доступных для ansible, готовых к использованию.Вы также можете написать свои собственные плагины.