Introduction
Ansible basics and beyond: Introduction
()
1. 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
()
2. 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
()
3. 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
()
4. 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
()
5. Using Ansible Playbooks
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
()
6. Using Ansible Tower
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
()
7. 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
()
8. 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
()
9. 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
()
10. 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
()
11. 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
()
12. 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
()
13. 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
()
14. 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
()
15. Managing Windows with Ansible
Module introduction
()
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
()
16. 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
()
17. Managing Containers
Understanding requirements for managing Docker
()
Using playbooks to manage Docker
()
Managing Podman containers
()
Lesson 17 lab: Managing containers
()
Lesson 17 lab solution: Managing containers
()
18. 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
()
19. 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
()
20. 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
()
21. 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
()