
Ansible, an open source command line automation tool written in Python, enables push-based configuration management across many servers using ad hoc commands and YAML-based playbooks with modules and agentless operation.
Explore the differences between Ansible core and Ansible community, including how they share the same tooling but differ in modules and collections, and learn installation and version checks.
Explore how Ansible works by managing multiple remote servers via SSH, using an agentless push model, with an Ansible controller node pushing modules that run on remote hosts through Python.
Launch an Ansible controller and two manager nodes from cloud or VMware, using CentOS on WSL2 for controller, with port 22 open and OS-family based conditions for Oracle and Ubuntu.
Launch and configure a CentOS 9 Ansible controller node from Windows using WSL2, install Python and pip, enable ssh, and prepare to run Ansible playbooks on remote nodes.
Install the Ansible core on CentOS9 using pip, verify Python 3.9.x on the controller, and install a specific 2.14.5 release to confirm the installation.
Launch an Ubuntu EC2 instance in the AWS cloud by creating a key pair, configuring a security group, and connecting via SSH with the downloaded PEM file.
Configure an ansible controller on wsl2 with two managed nodes, create a shared admin user with ssh keys, and set inventory and ansible.cfg to disable host key checking.
Explore why Ansible is agentless, relying on SSH with no software on manager nodes, using public key authentication, ping to verify connectivity, and the command module to retrieve uptime.
Create a user ID on the Ansible controller, grant admin access, enable password authentication, and log in to switch to the admin user to work on the project.
Explore the simple Ansible architecture, identifying the controller node, manage nodes, inventory, and modules such as ping and command, to test connectivity and uptime via SSH.
Learn to fetch the latest file or directory from the current location using a simple command, and create a bash alias named latest in the .bash_profile and source it.
Explore Ansible ad hoc commands and modules for single tasks across multiple nodes, compare them to playbooks, and learn with uptime, nginx installation, and inventory.
Master ad hoc Ansible commands to execute Unix and Linux tasks using command and shell modules, with inventory host patterns and module arguments.
Learn to handle quotations in Ansible ad hoc commands by wrapping arguments with single or double quotes in the shell module, and extract fields using tr and cut.
Explore the backend story of executing ansible ad-hoc commands—inventory, ssh, and module pushes to managed nodes. Learn how forks control parallel batches and Python memory requirements.
Explore the range of ansible file-related modules, including file, stat, copy, lineinfile, blockinfile, template, and fetch, and learn when to use each for file management and configuration tasks.
Learn to run an ansible ad-hoc command with the file module to create, set permissions, verify, and delete files on managed nodes, and convert playbooks to ad-hoc commands.
Use Ansible ad-hoc commands with the stat module to retrieve file and file system stats, including existence, user, gid, modified time, and checksum across managed nodes.
Learn how to use the Ansible lineinfile ad-hoc command to append, insert after or before, replace, and delete lines in files, with regex options, first match, and backup.
Learn how the Ansible fetch module downloads files from managed nodes to the controller via an ad-hoc command, preserving remote paths or flattening them with the flat option.
Explore ansible ad-hoc commands and playbooks using yum, dnf, apt, and package modules to install, update, or remove packages with root privileges and present/absent/latest state.
Execute ad-hoc ansible commands on the controller node with localhost, no inventory needed. Configure SSH keys, add the key to authorized_keys with 600 permissions, then run commands like ansible --version.
Ansible tasks are idempotent: rerunning a task with unchanged source and destination yields no changes; different content triggers changes, and tasks execute independently across managed nodes.
Execute ad-hoc ansible commands using your real-time user id and password, enable password authentication, create an inventory file and ansible config, and run with -k and -u for remote access.
Learn to manage multiple environments with Ansible using per-environment inventories or a single segmented inventory. Use -i to target dev, test, or prod hosts.
Understand the two types of Ansible inventory files—static inventories stored manually with IPs or FQDNs, and dynamic inventories fetched via logic or code, including cloud and auto-scaling considerations.
Explore how ansible.cfg files can live in multiple locations and the priority order: ansible_config environment variable, current project, user home, then /etc/ansible/ansible.cfg, and keep config in your project.
The target audience for this course are systems or automation engineers with a few years of experience in managing various parts of infrastructure, including operating systems, application configurations, and deployments.
This course also targets anyone who intends to manage systems and application configurations effectively and in an automated way, with the shortest learning curve.
What you’ll learn
Ansible Controller with Ad-hoc commands
Implementation of Ansible Playbooks from basic level to advanced level
Ansible Installation and Configuration with directory structure and Architecture
Ansible Ad-hoc commands
Ansible Facts and Variables
Ansible Inventories (Static and Dynamic Inventories)
How to work with Managed nodes if managed nodes are not installed with Python
Password Authentication setup and explanation
Introduction to Ansible Playbooks
Operations on strings and numbers using Playbooks (Filters and Methods )
Operators to work with tasks
Conditional Statements, loops, tags and handlers
Block module and its usage
Template module variables, conditional statements and loops
Ansible Vault Concept.
Are there any course requirements or prerequisites?
Provisioning Servers
From VMWare or From Any Cloud
Knowledge on
Unix/Linux Environment
Basic Commands
Usage of vi/vim Commands to Create a File
What is SSH Connection with Remote Servers ?
Difference between password-less and password authentication
Notes:
Basic knowledge on any programming or scripting language
Its good if you have knowledge on python as Ansible is developed with python
Shell Scripting or Python Scripting is mandatory to develop own modules/collections
Who this course is for:
who are looking for a job in Automation using Ansible and Ansible Playbooks