
Discover how Ansible simplifies it automation for configuration management, application deployment, and task automation across many servers, and how it orchestrates provisioning and post configuration behind a load balancer.
Explore an Ansible based automation architecture to manage multiple AWS EC2 instances by configuring a control node on Ubuntu, creating playbooks and inventories, and executing tasks over SSH.
Test connectivity with an ad-hoc ping in Ansible, then fix a Python interpreter warning by setting interpreter_python = auto_silent in Ansible.cfg.
Set up an Ansible lab by creating a normal user named sverma on the server and all clients, then configure passwordless SSH using RSA keys for seamless management.
Install the ansible package on the control node, create the dev inventory group, and enable passwordless ssh for sverma across all hosts; use --become to run commands as root.
practice adhoc commands with the file module to change remote file ownership and permissions, copy and delete files, and perform privilege escalation using root on the Ansible server.
This lab session demonstrates using Ansible ad hoc commands to copy a file to all destination servers and set content with the copy module, illustrating idempotent updates and practical practice.
Learn how to write and execute Ansible playbooks in YAML, structure plays, and run scripted tasks with privilege escalation and conditional execution.
Create and run an Ansible playbook to ensure the vsftpd service is started on all target hosts, elevating to root as needed, using the service module.
Apply Ansible playbooks to copy files only to Redhat distributions using ansible_distribution and ansible_distribution_major_version == 7. Observe the lab demonstrating skip logic for non-redhat hosts.
highlight a lab session on idempotent and non-idempotent module behavior in ansible, comparing shell and copy modules to manage resolv.conf with idempotent changes.
Explore host and group variables in an ansible inventory by defining hosts, groups, and children, and observe how host variables override group variables, with playbook variables taking precedence.
Mastering Ansible Step by Step
Course Contents
Introducing Ansible
Overview of Ansible Architecture
Ansible Components
Overview of Ansible Deployments
Describing Ansible Inventory
Summary
Deploying Ansible
Installing Ansible
Guided Exercise: Installing Ansible
Managing Ansible Configuration Files
Guided Exercise: Managing Ansible Configuration Files
Running Ad Hoc Commands
Guided Exercise: Running Ad Hoc Commands
Managing Dynamic Inventory
Guided Exercise: Managing Dynamic Inventory
Lab: Deploying Ansible
Summary
Ansible Setup in AWS Environment
Introduction to Setting Up Ansible in AWS
Launch EC2 Instance for Ansible Control Node
Install Ansible on Control Node
Setup Managed Hosts: Two Ubuntu Clients
Configure SSH on Clients
Edit hosts to Add Managed Hosts
Generating an SSH Key for Passwordless Access
Create a Host Inventory File for Managed Clients
Using Ad-Hoc Commands to Test Connectivity
Practicing Ad-Hoc Commands in Ansible
Understanding the Purpose of --become in Ansible
Ansible Installation on Red Hat Linux 8
Overview of Ansible Installation
Online Ansible Installation
User's Account Setup for Passwordless Authentication
Offline Ansible Installation ( When there is no internet available on Control Node )
Implementing Playbooks
Writing YAML Files
Guided Exercise: Writing YAML Files
Implementing Modules
Guided Exercise: Implementing Modules
Implementing Ansible Playbooks
Guided Exercise: Implementing Ansible Playbooks
Lab: Implementing Playbooks
Summary
Managing Variables and Inclusions
Managing Variables
Guided Exercise: Managing Variables
Managing Facts
Guided Exercise: Managing Facts
Managing Inclusions
Guided Exercise: Managing Inclusions
Lab: Managing Variables and Inclusions
Implementing Task Control
Constructing Flow Control
Guided Exercise: Constructing Flow Control
Implementing Handlers
Guided Exercise: Implementing Handlers
Implementing Tags
Guided Exercise: Implementing Tags
Handling Errors
Guided Exercise: Handling Errors
Lab: Implementing Task Control
Summary
Ansible Roles
About Ansible Roles
How do we create Ansible Roles
Lab Session to create roles
Industrial project to Automate Patching on Multiple Linux Server using Ansible Playbook
Overview about Linux Patching
Automate Linux Patching using Ansible
Verify application/Database processes are running or not
Decision point to start patching
Upgrade all the packages on the server
Check if reboot required after the kernel update
Install the specific kernel version using Ansible Playbook.
Various Labs to understand the Ansible Playbook for patching
Industrial project for Stop/Start Control M appl/db
Overview of project
Designing of Ansible playbooks
Lab Sessions
Create Automation tool using Ansible & Shell
Overview of Automation Tool
Concept of Automation Tool
Communication between Ansible Server with managed hosts
Front look of Automation Tool
What we are achieving from this Automation tool.
Pre-validation Configuration (To capture pre-change configuration details)
User Administration
1. User Creation
2. User Removal
3. Group Add
4. Password Reset
Run Ad Hoc Command
Health Check Statistics
1. Memory Utilization
2. CPU Utilization
3. Overall I/O Activities
4. Reports run queue and load average
5. Top Memory Consuming processes
6. Top CPU Consuming Processes
7. Shared Memory
Design of Automation Tool
Design Front Look using case statement
Practice Lab Session on case Statement -1
Practice Lab Session on case Statement -2
Color Fonts in desinging the tool
Headline & Selecting the target servers
Lab sessions
Shell Scripting
1. If..else..elif statement
2. Loops
3. Sed – Stream Editot
4. Awk
The case esac statement
Last lecture