課程資料
課程簡介
Learn to automate Red Hat Enterprise Linux tasks using Ansible with practical labs and RH294 certification guidance.
This training module is not authorized or affiliated with Red Hat, Inc. It is an independent educational resource designed to help learners prepare for the Red Hat Certified Engineer (RHCE) exam.
This course is part of the Red Hat Certified Engineer (RHCE) learning path and corresponds to RH294 Red Hat Ansible Automation.
The Red Hat Ansible Automation (RH294) course focuses on essential automation skills required to become a full-time Linux administrator or DevOps engineer and to validate those skills through the Red Hat Certified Engineer exam.
This course goes deeper into Enterprise Linux automation using Ansible, including playbooks, roles, variables, templates, inventories, and troubleshooting.
Part 1: Newly added lectures based on Red Hat Enterprise Linux 9 (RH294)
Part 2: Original lectures based on Red Hat Enterprise Linux 8 (RH294)
Part 1: Course Content
Red Hat Ansible Automation Training – RHEL 9 (RH294)
Ansible Setup in AWS Environment
Getting Started with This Section
Set Up an EC2 Instance as an Ansible Control Node
Install Ansible on Control Node
Set Up Two Client Machines as Managed Nodes
Enable SSH communication
Add Same User to All Machines
Generate SSH Key for Password-Free Access
Create Host Group in Inventory File
Test Connection Using Ad-Hoc Commands
Guided Exercise - 1
Guided Exercise - 2
Mastering Ansible Inventory and ansible-navigator: A Step-by-Step guide
Getting Started with This Section
Understanding Ansible Inventory
Static vs Dynamic Inventory in Ansible
How to Add Host Entries in Inventory
Adding Hosts with Custom Ports and Users
Using Host Ranges in Ansible Inventory
Getting Started with Ansible Navigator: Installation, Modes, and Usage
Ansible Navigator: Quick Overview
Navigator Modes Explained: Run, Inventory, Collections & More
ansible-navigator vs ansible-playbook: Key Differences
Installing ansible-navigator
Setting Up ansible-navigator
View Inventory with ansible-navigator (stdout mode)
Explore Inventory in TUI Mode Using ansible-navigator
Managing Ansible Configuration Files
Configuring Ansible Basics
Setting Up User-Specific Ansible Configuration
Defining Inventory File Path in Ansible Config
Working with ansible-navigator Configuration File
Ansible Navigator - Scenario Based Guided Lab
Getting Started with this Section
Hands-On Lab 1
Hands-On Lab 2
Hands-On Lab 3
Hands-On Lab 4
Implementing an Ansible Playbook
Getting Started with this Section
What is an Ansible Playbook
Ansible Playbook Syntax and Formatting
Lab Exercise: Creating Your First Ansible Playbook
Lab Exercise: Run Playbook Using Ansible Navigator
Lab Exercise: Ansible Navigator with EE Enabled
Lab Exercise: Directory Creation Using Playbook
Ansible Variable and Facts
Getting Started with this Section
Introduction to Ansible Variables
Valid and Invalid Variable Names
Defining Group Variables in Ansible Inventory
Defining Group Variables via group_vars
Defining Host Variables
Defining Variables in Ansible Playbooks
Overriding Variables with ansible playbook
Overriding Variables with ansible-navigator
Use Dictionaries as Variables in Ansible
Hands-On: Use Dictionaries
Capturing Output with Registered Variables
Hands-On: Capturing Output with register
Managing Secrets in Ansible
Introduction to Ansible Vault and Secret Storage
Ansible Vault: File Encryption
Ansible Vault: Using Password Files for Encryption
Ansible Vault: Modify Encrypted Files
Hands-On 1: Secure User Creation with Ansible Vault
Hands-On 2: Secure User Creation with Ansible Vault
Hands-On 3: Secure User Creation with Ansible Vault
Hands-On 4: Secure User Creation with Ansible Vault
Hands-On 5: Secure User Creation with Ansible Vault
Task Control Implementation in Ansible
Getting Started with this Section
Task Iteration with Loops in Ansible
Hands-On: Installing Multiple Packages Using Loops
Loop with a Variable List
Hands-On: Iterating Variable Lists with Loops
Ansible Loops with List of Dictionaries
Hands-On 1: Looping Through Dictionary Lists
Hands-On 2: Looping Through Dictionary Lists
Earlier-style Loop Keywords: with_items, with_dict etc
Hands-On 1: Register with Loop in Ansible
Hands-On 2: Register with Loop in Ansible
Implementing Conditional Task Control
Running Tasks Conditionally
Hands-On: Install Apache Only if RAM > 2GB
Hands-On: Run Task Only if OS is Debian
Hands-On: Run Task When web_enabled is True
Hands-On: Run Task if RAM > 2GB AND OS is CentOS
Hands-On: Run Task if OS is Ubuntu OR Debian
Deploying Files to Managed Hosts
Describing File Modules
Hands-On: Create a Directory
Hands-On: Copy a File to Remote
Hands-On: Fetch File From Remote to Local
Hands-On: Insert Line Using lineinfile Module
Hands-On: Insert Config Block Using blockinfile Module
Deploying Custom files with Jinja2 Templates
Introduction to Jinja Templating in Ansible
Control Structures with Loops and Variables
Hands-On: Control Structures
Using Ansible Facts in Jinja2 Templates
Guided Exercise - 1
Guided Exercise - 2
Guided Exercise - 3
Managing Complex Plays and Playbooks
Selecting Hosts with Host Patterns
Hands-On: Defining Ansible Host Patterns
Hands-On: Defining Ansible Host Patterns
Including and Importing Files
Include vs Import in Ansible
Import_playbook in Ansible
Hands-On 1: Include and Import Files – Apache Setup
Hands-On 2: Include and Import Files – Apache Setup
Hands-On 3: Include and Import Files – Apache Setup
Guided Exercise: Apache Web Server Automation
Overview of the Project
Hands-On Practice 1
Hands-On Practice 2
Modular Playbook Design with Roles and Collections
Describing Role Structure
Hands-On Project: Automate Server Hardening
Hands-On: Roles for User and Timezone Setup
Hands-On: Role for Firewall Custom Port Access
Hands-On: Role for SSH Configuration
Hands-On: Use Roles in a Playbook
Hands-On: Execute the Playbook
Hands-On: Verify Changes on Client Node
Using External Ansible Roles from Ansible Galaxy
Overview: Using External Roles from Galaxy
Hands-On: Install External Role geerlingguy.nginx
Hands-On: Create a Playbook with External Role
Hands-On: Run Playbook with ansible-playbook
Hands-On: Run Playbook with ansible-navigator
Troubleshooting in Ansible: Debugging and Error Handling
Analyzing Ansible Log Files
Using the debug Module for Troubleshooting
Handling Errors Gracefully in Ansible
Debugging Techniques in Ansible
Using check_mode to Test Playbook Execution
Part 2: Course Content
Red Hat Ansible Automation Training – RHEL 8 (RH294)
Introduction
What is Ansible?
Ansible Limitations
Ansible Architecture
Overview of Ansible Setup
Quiz1
Ansible Installation
Installing Ansible
Guided Exercise
Deploying Ansible
Ansible Components
- Ansible Configuration
- Host Inventory
- Core Modules
- Custom Modules
- Playbooks
- Connection Plugins
Ansible Host Inventories
Guided Exercise: Building an Ansible Inventory
Customizing Ansible
Managing Ansible Configuration files
AD HOC Commands With Ansible
Syntax of Ad Hoc Command
Ansible Modules
Ansible Command-line Options
Idempotent behavior of Ansible Modules
Guided Exercise
Implementing Playbooks
Overview of Playbook Syntax
Writing and Running Playbooks
Lab - Write a Simple Playbook, User Creation task
Guided Exercise - Web Server Installation
Guided Exercise - Multiple Tasks
Managing Variables & Facts in Ansible
Overview of variables in Ansible
Lab-Managing Variables
Hosts & Group variables
Lab on Host & Group Variables
Ansible Facts
Managing Secrets
Ansible Vault Command
Lab - Edit, encrypt, decrypt, and view files
Guided Exercise - 1
Guided Exercise - 2
Implementing Task Control
Manage task control, handlers, and task errors in Ansible Playbooks.
Task Iteration with Loops
Lab - Simple Loops, Loops over a List of Hashes
Lab - with_items, with_file
Lab - using register variables with loops
Lab - Running tasks Conditionally using when statement
Lab - when statement using ansible facts
Lab - Testing multiple conditions using when statement
Lab - "in" keyword
Lab - Combining Loops & Conditional Tasks
Lab - Combining Conditionals & Register Varaibles
Ansible Handlers
Lab - Ansible Handlers
Handling Task Failures
Managing task errors in plays - ignore_errors
Specifying task failure Conditions
failed_when keyword
changed_when keyword
Guided Exercise
Deploying files to managed hosts
Describing files modules
Lab - copy & fetch modules
Lab - lineinfile & blockinfile modules
Lab - modify file attributes such as SELinux Context
Lab - stat module
Guided Exercise
Deploying Custom files with Jinja2 Templates
Overview of Jinja Templates
Control Structure - using loops, variables
Lab - for, loop.index variable, if else in Jinja2 Templates
Guided Exercise
Configuring Parallelism
About Parallelism in Ansible
Managing rolling updates - serial keyword
Guided Exercise - Forks Parameter
Guided Exercise - Serial Keyword
Including & Importing Files
Overview of Importing & Including files
Import_playbook & import_tasks
define variables using import_tasks
Include_tasks and its comparison with import_tasks
Guided Exercise
Simplifying Playbooks with Roles
Ansible Roles
Create Ansible Roles
Lab: Simplifying Playbooks with Roles
Troubleshooting Ansible
Log Files for Ansible
The Debug Module
Managing Errors : --syntax-check, --step, --list-tasks, --start-at-tasks
Debugging
Using check mode as a Testing Tool
check_mode
Guided Exercise
Last Lecture
Bonus
Linux EX294 with Ansible Sample Practice Exams - OS Version 8
課程章節
- 10 個章節
- 207 堂課
- 第 1 章 Introduction to Red Hat Automation with Ansible Training RHEL 9 (RH294)
- 第 2 章 Ansible Setup in AWS Environment
- 第 3 章 Mastering Ansible Inventory and ansible-navigator: A Step-by-Step guide
- 第 4 章 Getting Started with Ansible Navigator: Installation, Modes, and Usage
- 第 5 章 Managing Ansible Configuration Files
- 第 6 章 Ansible Navigator - Scenario Based Guided Lab
- 第 7 章 Implementing an Ansible Playbook
- 第 8 章 Ansible Variable and Facts
- 第 9 章 Managing Secrets in Ansible
- 第 10 章 Task Control Implementation in Ansible
課程內容
- Understand the core concepts and architecture of Ansible automation in Red Hat Enterprise Linux environments.
- Install and configure Ansible Control Nodes and Managed Nodes in both on-premises and AWS environments.
- Set up secure SSH communication and manage multiple systems efficiently through Ansible.
- Create and manage Ansible Inventories, including static and dynamic host configurations.
- Write, execute, and troubleshoot Ansible Playbooks to automate system administration tasks.
- Use ansible-navigator and Execution Environments (EE) introduced in RHEL 9 to run and manage automation workflows.
- Define and manage variables, loops, and conditionals within Ansible Playbooks for flexible task execution.
- Secure sensitive data and credentials using Ansible Vault and password file encryption techniques.
- Implement Jinja2 templates for dynamic configuration file generation and deployment.
- Organize and modularize automation projects using Ansible Roles and Collections for reusability and scalability.
- Manage complex plays using includes, imports, handlers, and host patterns.
- Troubleshoot automation issues effectively using debug modules, log analysis, and Ansible’s testing modes.
- Configure and optimize parallelism, rolling updates, and task control for efficient infrastructure management.
- Automate enterprise-grade Linux administration tasks, including package management, user creation, and web server setup.
- Prepare confidently for the Red Hat Certified Engineer (RHCE) – EX294 certification exam by mastering both RHEL 8 and RHEL 9 automation environments.
- Learn to install and configure Ansible in AWS EC2 instances, setting up real-world cloud automation scenarios.
- Explore the differences and enhancements between RHEL 8 and RHEL 9 versions of Ansible for better exam preparation.
- Gain hands-on experience through guided labs and practical exercises covering every major topic in RH294.
- Learn to automate enterprise infrastructure deployment using Ansible roles, templates, and conditional logic.
- Develop the ability to troubleshoot, test, and validate automation playbooks using advanced debugging and verification tools.
此課程所涵蓋的技能
評價
-
IInayathulla Meeran
ok just started
-
SSai Kiran Talapanti
each and every topic is explain, very well really appreciated shikhar :)
-
SSrinivas Nerella
excellent
-
EEdwin Etchi Assam
Excellet and very simple to follow and to understand. Thank you sir