Features
- Ansible is used to perform batch operations on a group of machines, such as application deployment, configuration management, etc.
- Ansible is developed entirely based on Python, and communication based on OpenSSH under Linux
- Ansible is open source software, currently maintained by Red Hat (the commercial version provides a visual interface)
- Ansible does not require a database, no background processes, or a client (the client does not require any configuration, and can be used after the management side is configured), almost completely non-invasive to the target host, simple and efficient, and relatively low learning cost
Architecture diagram
component
Ansible is mainly composed of 6 parts
- ANSIBLE PLAYBOOKS: task script (task set), arranges and defines the configuration files of Ansible task set, executed by Ansible in order, usually YML files in JSON format;
- INVENTORY: Ansible management host list;
- MODULES: The functional modules for Ansible to execute commands, most of which are built-in core modules, which can also be customized;
- PLUGINS: Supplement to module functions, such as connection type plug-in, loop plug-in, variable plug-in, filter plug-in, etc. This function is not commonly used.
- API: Application programming interface (Ansible Tower) for third-party programs to call