Ansible is an open-source automation tool that simplifies IT infrastructure provisioning, configuration management, and application deployment. It uses a declarative language called YAML (YAML Ain’t Markup Language) to define playbooks, which are sets of instructions that describe desired system states. Playbooks can be used to automate tasks on various operating systems, including Windows and Linux.
1. Install Ansible
To get started with Ansible on Windows and Linux, follow these steps:
On Linux: Ansible can be installed via package managers like `apt` or `yum`. For example, on Ubuntu, you can run:
sudo apt update
sudo apt install ansible
On Windows: Ansible can be installed using the Windows Subsystem for Linux (WSL) or by using a Docker container. WSL is recommended for better integration. Follow the instructions on the Ansible documentation for Windows installation.
2. Create an Inventory
The inventory file is a YAML or INI-formatted file that lists the target hosts you want to manage with Ansible. Create a file called `inventory` and define your hosts. For example:
all:
hosts:
server1:
ansible_host: 192.168.0.10
server2:
ansible_host: 192.168.0.11
Make sure to follow the YAML syntax guidelines, which include correct indentation using spaces (not tabs) and colons to separate keys from values.
3. Write a Playbook
Playbooks are written in YAML and consist of a series of plays, which contain tasks to be executed on hosts. Create a file called `playbook.yaml` and define your playbook. For example:
---
- name: Example Playbook
hosts: all
tasks:
- name: Ensure NTP is installed
apt:
name: ntp
state: present
become: true
when: ansible_os_family == "Debian"
4. Execute the Playbook
To run the playbook, use the `ansible-playbook` command followed by the playbook filename and the inventory file. For example:
On Linux:
ansible-playbook -i inventory.yaml playbook.yaml
On Windows (using WSL):
ansible-playbook -i inventory.yaml playbook.yaml
Ansible offers a wide range of modules and features that you can explore further to automate complex tasks and manage your infrastructure efficiently.
Refer to the Ansible documentation for more detailed information and examples: [https://docs.ansible.com/ansible/latest/index.html](https://docs.ansible.com/ansible/latest/index.html)
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article