About Course
  • Know your Instructor - Who is Gourav Shah ?
Course Introduction
  • How to Navigate this course
  • EX407: Red Hat Certified Specialist in Ansible Automation
  • Have Question, Find Help and Support
  • Important Resources for this Course
Introduction to Ansible
  • What is Ansible Part I: Why Ansible ?
  • What is Ansible Part II: Simplicity, YAML, Push Model, Custom Modules
  • What is Ansible Part III: Batteries Included Approach
  • Web Quest AWQ001 - Explore Ansible Batteries - Modules
  • What is Ansible Part IV: Infrastructure as a Code
  • What is Ansible Part V: Code vs Data
  • What is Ansible Part VI: Idempotence and State Management
  • What is Ansible Part VIII: The Ansible Story
  • Test your knowledge
  • Web Quest AWQ002 - Relevance of Ansible in the world of Docker and Kubernetes
Setting up the Environment
  • Section Introduction
  • Introduction to codespaces
  • Setting up codespaces locally with docker
  • LAB 1: Setting up a codespaces environment with Docker
  • Launching codespaces on digital ocean cloud
  • Managing codespaces
Path to Automation with Ansible
  • Section Introduction
  • Tasks, Modules, Roles
  • Inventories and Playbooks
  • Book Recommendation: Ansible Playbook Essentials
  • Code Organization Strategies
  • Introducing Use Case - Devops Demo App
  • Approach to automate Devops Demo App
Ad Hoc Server Management with Ansible
  • Section Introduction
  • Configuring Ansible
  • LAB 1: Adding Ansible Configs
  • Defining a static Inventory
  • LAB 2: Creating Host Inventory
  • Host Patterns and Ad Hoc Commands
  • LAB 3: Ad Hoc commands
  • Modules and Desired State Configuration
  • LAB 4: Using modules to manage the state of infrastructure
  • Invoking Modules, Idempotence
  • Using common modules
  • Command Modules and Idempotence
  • Using ansible-console REPL Shell
Playbooks
  • Section Introduction
  • YAML Primer
  • Anatomy of a Playbook
  • Writing your first Play
  • LAB 1: Writing Playbook for Base System Configurations
  • Validating and applying Ansible Playbook
  • LAB 2: Validating Syntax
  • Troubleshooting playbook failures
  • LAB 3 :Error Handling and Debugging
  • Adding another play for app servers
  • LAB 4: Adding Additional Play
  • Nano Project: Create a playbook to deploy a Static Site
  • Nano Project ANP001: Write a Playbook to Deploy a Static HTML Site
  • Cleaning up lb node after deploying static site
Roles
  • Section Introduction
  • Why do you need roles?
  • Anatomy of a Role
  • Code Organization Strategies
  • Generating Roles Scaffold and Ansible Galaxy
  • Creating a role for Apache
  • LAB 1: Configuring app server environment with Roles
  • Writing and applying playbook for app servers
  • LAB 2: Writing Tasks to Install and Start Apache Web Service
  • Copying config file, notifications and handlers
  • LAB 3: Managing Configurations
  • Creating a role for PHP
  • LAB 4: Create a role to install php
  • Nested roles and site wide playbook
  • LAB 5: Systems role, dependencies and nested roles
  • Nano project: Deploy Devops Demo App
  • Nano Project ANP002: Write a role to deploy devopsdemo app
Vars and Templates
  • Section Introduction
  • Need to separate data from code
  • Diving into Jinja2 templates
  • Understanding ansible vars, Precedence Levels and Best Practices
  • Advanced vars concepts
  • Dynamically defining app version with vars and tasks
  • Managing app configs with templates and vars
  • LAB 1: Templates and Variables
  • Playing with vars precedence
  • LAB 2: Beyond defaults - Playing with vars precedence
  • Registereed varibles and conditional execution
  • LAB : 3 Registered Variables
  • Discovering facts with setup module
Ansible Galaxy
  • Section Introduction
  • Tour of Ansible Galaxy
  • Selecing role for HAProxy
  • Applying HAProxy role with custom properties
  • Troubleshooting HAProxy Issues