Ansible: From Basics to Guru by Pearson
13h 47mIntermediate2026-02-26
Authors

Pearson
Course details
Sander van Vugt teaches Ansible from the ground up and helps you get the most out of your Ansible solutions and playbooks by showing you how to manage a multi-faceted environment, whether you’re new or experienced in development and whether you’re an administrator or a user.
The first part of the course covers Ansible basics and how to get started. Explore how to develop flexible playbooks before jumping into managed infrastructure, ad-hoc commands, Ansible AWX, conditionals, plugins, and managing containers.
In the second part, get up to speed on core concepts and advanced features. Learn how to modify Ansible and organize your setup. Dive deeper into playbooks, modules, and content collections, and learn how to use them with variables and conditionals. See how to manage files with Jinja2 templates, review roles and standardized components, and explore advanced topics such as filters and plugins to extend Ansible functionality.
This combination course includes lessons from the following courses:
Ansible: From Basics to Guru
Ansible: Core Concepts and Advanced Features
Prerequisites:
A minimum of three virtual machines running any Linux distribution (Red Hat family recommended)
Optionally, the following can be added:
One virtual machine running Windows Administrator
Access to AWS Administrator
Access to Azure
A Cisco network device
A virtual machine running VMware ESXi
The first part of the course covers Ansible basics and how to get started. Explore how to develop flexible playbooks before jumping into managed infrastructure, ad-hoc commands, Ansible AWX, conditionals, plugins, and managing containers.
In the second part, get up to speed on core concepts and advanced features. Learn how to modify Ansible and organize your setup. Dive deeper into playbooks, modules, and content collections, and learn how to use them with variables and conditionals. See how to manage files with Jinja2 templates, review roles and standardized components, and explore advanced topics such as filters and plugins to extend Ansible functionality.
This combination course includes lessons from the following courses:
Ansible: From Basics to Guru
Ansible: Core Concepts and Advanced Features
Prerequisites:
A minimum of three virtual machines running any Linux distribution (Red Hat family recommended)
Optionally, the following can be added:
One virtual machine running Windows Administrator
Access to AWS Administrator
Access to Azure
A Cisco network device
A virtual machine running VMware ESXi
Concepts
Introduction
- Ansible basics and beyond - Introduction
What Is Ansible
- Module introduction
- Learning objectives
- What is configuration management
- Solutions for configuration management
- Configuration as code and DevOps
- Ansible components
- Working with Ansible in small environments
- Working with Ansible in large environments
Getting Started
- Learning objectives
- Ansible infrastructure components
- Setting up a RHEL Ansible control node
- Setting up an Ubuntu Ansible control node
- Setting up an Ansible control node with Python pip
- Requirements for managing assets
- Modules and collections
- Using Ansible to configure managed nodes, part 1
- Using Ansible to configure managed nodes, part 2
- Using Ansible to configure managed nodes, part 3
- Defining default settings in ansible.cfg
- Managing Windows
- Using macOS as a control node
- Lesson 2 lab - Setting up an Ansible-managed environment
- Lesson 2 lab solution - Setting up an Ansible-managed environment
Using Ansible in Large Environments
- Learning objectives
- Centralizing configuration as code using Git
- Using AWX and Ansible Automation Platform
- Configuring ansible-navigator
- Working with ansible-navigator
- Providing required collections for ansible-navigator
- ansible-navigator configuration
- Lesson 3 lab - Using ansible-navigator
- Lesson 3 lab solution - Using ansible-navigator
Using Ad-Hoc Commands
- Learning objectives
- Ad-hoc commands versus playbooks
- Using Ansible content collections
- Exploring essential Ansible modules
- Using module documentation
- Using Ansible in an idempotent way
- Lesson 4 lab - Using ad-hoc commands
- Lesson 4 lab solution - Using ad-hoc commands
Using Ansible Playbooks
- Learning objectives
- Understanding playbook structure
- Running your first playbook
- Understanding task execution and errors
- Using ansible-navigator to run playbooks
- Lesson 5 lab - Using a playbook to deploy a webserver
- Lesson 5 lab solution - Using a playbook to deploy a webserver
Using Ansible Tower
- Learning objectives
- Understanding Ansible Tower, Automation Platform, and AWX
- Installing Ansible Tower
- Understanding Ansible Tower main components
- Setting up Ansible Tower to manage assets
- Configuring Ansible Tower to manage Windows
- Lesson 6 lab - Setting up Ansible Tower to manage assets in Ansible
- Lesson 6 lab solution - Setting up Ansible Tower to manage assets in Ansible
Working with Variables
- Module introduction
- Learning objectives
- Separating code from site-specific configuration
- Using variables in a playbook
- Understanding where to define your variables
- Using Ansible facts
- Using set fact
- Understanding different notations for facts and variables
- Using multi-valued variables
- Using magic variables
- Using register
- Using Vault to store sensitive information
- Lesson 7 lab - Making playbooks flexible with variables
- Lesson 7 lab solution - Making playbooks flexible with variables
Using Conditionals
- Learning objectives
- Conditionals overview
- Using loop to process a list of items
- Using handlers for conditional task execution
- Using when to run tasks in specific situations
- Using register to work with task results
- Using blocks
- Managing failure with the fail module
- Using assert
- Lesson 8 lab - Using when to create idempotency
- Lesson 8 lab solution - Using when to create idempotency
Managing Files
- Learning objectives
- Manipulating files
- Changing file contents
- Using the find module
- Using templates
- Using conditional statements in templates
- Lesson 9 lab - Working with files
- Lesson 9 lab solution - Working with files
Using Roles
- Learning objectives
- Understanding and using roles
- Working with ansible-galaxy
- How roles are organized
- Writing custom roles
- Using system roles
- Lesson 10 lab - Working with roles
- Lesson 10 lab solution - Working with roles
Ansible Best Practices and Optimization
- Module introduction
- Learning objectives
- Using include and import
- Configuring security
- Using tags
- Using delegation
- Managing parallelism
- Efficiently copying files
- Optimizing SSH
- Case study - Optimizing Ansible
- Lesson 11 lab - Optimizing Ansible
- Lesson 11 lab solution - Optimizing Ansible
Using Filters
- Learning objectives
- Understanding filters and plugins
- Filters, plugins, and collections
- Understanding filters and variable types
- Using filters to change variables
- Using filters to work with network addresses
- Examples of using filters
- More examples of using filters
- Lesson 12 lab - Using filters
- Lesson 12 lab solution - Using filters
Using Plugins
- Learning objectives
- Understanding plugins
- Exploring lookup plugins
- Common lookup plugins
- Using the fileglob plugin
- Plugin-based inventory
- Fact caching
- Creating random passwords
- The test plugin
- Lesson 13 lab - Using callback plugins
- Lesson 13 lab solution - Using callback plugins
Advanced Ansible Tower Usage
- Learning objectives
- Managing users and teams
- Creating job template surveys
- Configuring notifications
- Using workflow
- Scheduling jobs
- Importing static inventories
- Creating and updating dynamic inventories
- Using smart inventories
- Using Vault in Tower
- Using the Tower API
- Backing up Tower
- Lesson 14 lab - Advanced Ansible Tower usage
- Lesson 14 lab solution - Advanced Ansible Tower usage
Managing Windows with Ansible
- Module introduction
- Learning objectives
- Understanding requirements for managing Windows
- Using playbooks to manage Windows
- Lesson 15 lab - Managing Windows with Ansible
- Lesson 15 lab solution - Managing Windows with Ansible
Managing Azure with Ansible
- Learning objectives
- Understanding requirements for managing Azure
- Using playbooks to manage Azure
- Lesson 16 lab - Managing Azure
- Lesson 16 lab solution - Managing Azure
Managing Containers
- Learning objectives
- Understanding requirements for managing Docker
- Using playbooks to manage Docker
- Managing Podman containers
- Lesson 17 lab - Managing containers
- Lesson 17 lab solution - Managing containers
Managing AWS with Ansible
- Learning objectives
- Understanding requirements for managing AWS
- Using playbooks to manage AWS
- Configuring dynamic inventory
- Lesson 18 lab - Managing AWS with Ansible
- Lesson 18 lab solution - Managing AWS with Ansible
Managing Network Devices with Ansible
- Learning objectives
- Understanding network device management
- Setting up Cisco SMB devices
- Configuring Cisco SMB devices with Ansible
- Using generic modules for network device management
- Lesson 19 lab - Automating switch setup with Ansible
- Lesson 19 lab solution - Automating switch setup with Ansible
Managing Virtual Machines with Ansible
- Learning objectives
- Managing KVM virtual machines
- Understanding vSphere management
- Managing ESXi
- Lesson 20 lab - Managing a KVM-based virtual classroom with Ansible
- Lesson 20 lab solution - Managing a KVM-based virtual classroom with Ansible
Managing Kubernetes with Ansible
- Learning objectives
- Understanding requirements for managing Kubernetes
- Preparing the Kubernetes setup
- Writing a playbook to create a Kubernetes cluster
- Running the playbook to create a Kubernetes cluster
- Managing Kubernetes resources
- Lesson 21 lab - Automating Kubernetes application deployment with Ansible
- Lesson 21 lab solution - Automating Kubernetes application deployment with Ansible
Summary
- Ansible - from basics to guru - Summary