Ansible on Windows
What is Ansible?
Ansible is an open-source software provisioning, configuration management and application-deployment tool.
Ansible is used for configuration management, continuous delivery, application deployment, orchestration, provisioning. Ansible is powerful tool to automate IT environments hosted on-premise, any other virtualization platform or say cloud platform. Although for UNIX based OS it is straight forward, windows requires a bit more configuration.
Key Ansible Features
Agentless- no service, daemon or process) needs to run in the background on the machine the action is being performed on.
Desired State - Declarative (you don’t need to know the commands used to accomplish a particular task and how It works – It is abstracted for end user)
Ansible node is the controlling node, which controls the entire execution of the Playbook (Consider it as your scripts). It’s the node from which you are running the entire configuration. Inventory file provides the list of the host where the modules/playbook need to be run (You can group host). The controller node makes connection with the host machines. It removes the modules once they are installed.
Specific to Windows
Ansible control system does not run on windows – At least natively. It relies on python modules which may be propriety. Let’s see what we need for having Ansible on Windows. We need to enable WSL (Windows Services for Linux). We need to have Windows 10, Powershell version greater than 3.0, .Net. Communication on windows is done via WinRM and so we need to enable WinRM.
Below are the key components with respect to Ansible.
Modules – Reusable, standalone scripts.
Inventory – The Ansible inventory file defines the hosts, groups of hosts. It is yaml file.
The default location for inventory is a file called /etc/ansible/hosts
Role- Ansible role is an independent component which allows reuse of common configuration steps.
Playbook – File where you write Ansible code.
Now, if you are interested to start your Ansible journey then checkout my demo on Ansible.
It has covered all from installation to writing your first script.