we are going to see the Architecture of Ansible in this post.
Communication:
Communication established between control node(Server) and Managed hosts(Client machines) using SSH Protocol.
A normal user will be sufficient for communication between Control and Managed hosts.
A normal user can able to perform a few tasks but for other tasks, we need administrators user or other users who have sudo access to perfom that tasks.
complete Architecture detail of Ansible:
This will explain how the ansible working and what are all the things contains as architecture.
As we can see the above diagram ansible automation engine will interact directly with the person who writes playbooks to do tasks.
It also interacts with the cloud(public/private) directly. Basically its CMDB(Configuration Management Data Base).
Also, it contains the below components:
- Inventory
- Modules
- API
- Plugins
Inventory:
Inventory will contain the List of Host or IP Address of Host/ Wildcards where we are going to do automation tasks using ansible.
default ansible inventory path: /etc/ansible/hosts
We can specify the different inventory path using -i option.
Modules:
Ansible has more 1000 readymade playbooks in it and we should use those modules in paybooks to do automation tasks. Modules will be copied from Control node to managed hosts while executing the tasks and it will run the program based on playbook and Module then will give back us the output.
Also, the user can create custom playbooks based on their needs.
We should mention the modules in playbooks and modules will be directly executed in remote hosts through playbooks and will get the output.
API:
Ansible uses API as transport for Cloud services.
Plugins:
Plugins will enhance the features ansible.
Plugins will allow executing the task on build stat. Its a piece of code.
Using ansible we can automate the tasks on different types of network.