Red Hat Certification Training
RHCE — RHEL 9
Red Hat Certified Engineer (EX294) — Automation with Ansible · Complete Course Outline
Basic→
Intermediate→
Advanced→
Practical Lab
20Modules
AnsibleAutomation
EX294Exam
1Capstone
RHCE (EX294) হলো Ansible-ভিত্তিক automation exam। এর pre-requisite হলো RHCSA — তাই এই course RHCSA-এর ভিত্তির উপর দাঁড়িয়ে automation-এ focus করে।
Foundation
Ansible Basics & Setup
01
Automation & Ansible Fundamentals
▾- Automation কী এবং কেন প্রয়োজন
- Configuration Management concepts
- Ansible পরিচিতি ও architecture
- Agentless model ও SSH-based communication
- Control Node বনাম Managed Node
- Ansible বনাম অন্যান্য tools (Puppet, Chef)
- Push-based automation model
- RHEL 9-এ Ansible ecosystem overview
02
Installation & Environment Setup
▾- Control node-এ Ansible installation (
ansible-core) - Managed node preparation
- Dedicated automation user তৈরি
- SSH key-based authentication setup
- Privilege escalation (
sudo/ become) configuration - Python interpreter requirements
ansible --versionও verification
🧪 Practical Lab
- Control + 2 managed node lab setup
- Passwordless SSH ও sudo user configuration
03
Inventory Management
▾- Inventory concepts
- Static inventory (INI ও YAML format)
- Host ও Group definition
- Nested groups ও children
- Host variables ও group variables
- Inventory ranges ও patterns
- Dynamic inventory overview
ansible-inventory --list/--graph
🧪 Practical
- Group-based inventory design (web, db, app)
04
Ansible Configuration & Ad-hoc Commands
▾ansible.cfgconfiguration file- Config precedence ও priority
- Key settings: inventory, remote_user, become, roles_path
- Ad-hoc command structure
- Common modules:
ping,command,shell,copy - Module documentation (
ansible-doc) - Connection testing
🧪 Practical
- Ad-hoc command দিয়ে package install ও service check
Core Automation
Playbooks, Variables & Logic
05
YAML & Playbook Basics
▾- YAML syntax ও indentation rules
- Playbook structure: play, task, module
- Hosts ও tasks section
- Running playbooks (
ansible-playbook) - Idempotency concept
- Check mode (
--check) ও dry run - Syntax check ও verbosity (
-v) - Playbook best practices
🧪 Practical Lab
- প্রথম playbook — package, service, config deploy
06
Variables & Facts
▾- Variable types ও scope
- Playbook, host ও group variables
group_varsওhost_varsdirectory- Variable precedence
- Registered variables
- Ansible Facts (
setupmodule) - Custom facts
- Magic variables overview
🧪 Practical
- Facts ব্যবহার করে conditional configuration
07
Ansible Vault
▾- Sensitive data protection concept
- Vault file তৈরি (
ansible-vault create) - Encrypt / decrypt / edit / view
- Encrypting existing files ও variables
- Vault password file ও prompt
- Playbook-এ vault integration (
--ask-vault-pass)
🧪 Practical
- Encrypted variable দিয়ে user password deploy
08
Conditionals, Loops & Handlers
▾- Conditionals:
whenstatement - Comparison ও logical operators
- Fact-based ও variable-based conditions
- Loops:
loop,with_items - Looping over lists ও dictionaries
- Handlers ও
notify - Handler triggering ও idempotency
block,rescue,always(error handling)
🧪 Practical Lab
- Conditional service restart with handlers
09
Templates & Jinja2
▾- Jinja2 templating engine
templatemodule ও.j2files- Variable substitution
- Loops ও conditionals inside templates
- Filters (default, upper, join ইত্যাদি)
- Facts ব্যবহার করে dynamic config
- Managed file marker ও validation
🧪 Practical Lab
- Jinja2 template দিয়ে dynamic config file generate
Reusable Content
Roles, Collections & Galaxy
10
Ansible Roles
▾- Role concepts ও reusability
- Role directory structure
- tasks, handlers, templates, files, vars, defaults, meta
- Role তৈরি (
ansible-galaxy init) - Playbook-এ role ব্যবহার
- Role variables ও defaults
- Role dependencies
- Role best practices
🧪 Practical Lab
- Web server deploy করার জন্য custom role তৈরি
11
Ansible Galaxy & Collections
▾- Ansible Galaxy পরিচিতি
- Roles install ও management
requirements.yml- Ansible Collections concept
- FQCN (Fully Qualified Collection Name)
ansible-galaxy collection install- Red Hat Automation Hub overview
🧪 Practical
- Galaxy role ও collection install ও integrate
12
Task Control & Reuse
▾- Including tasks (
include_tasks,import_tasks) - Including playbooks (
import_playbook) - Static বনাম dynamic include
- Tags ও selective execution (
--tags,--skip-tags) - Task delegation (
delegate_to) - Run once ও local actions
System Automation
Managing RHEL with Ansible
13
Software & Repository Management
▾dnf/yummodule — package install/remove- Package groups ও module streams
- Repository configuration (
yum_repository) - GPG key management
- System updates via Ansible
- Subscription management overview
🧪 Practical
- Repo configure ও package deploy across nodes
14
Users, Groups & Authentication
▾userওgroupmodule- Password hashing (
password_hashfilter) - SSH key deployment (
authorized_key) - Sudo configuration
- User environment ও shell
- Bulk user management with loops
🧪 Practical Lab
- Vault + loop দিয়ে multiple user deploy
15
File & Service Management
▾filemodule — permission, ownership, linkscopyওfetchlineinfileওblockinfilereplacemoduleservice/systemdmodule- Enable, start, restart, reload
- Cron jobs (
cronmodule)
🧪 Practical
- Config file edit ও service state management
16
Storage & Partition Automation
▾- Partition management (
partedmodule) - Filesystem creation (
filesystemmodule) - Mounting (
mountmodule ও fstab) - LVM automation (
lvg,lvol) - Swap configuration
- Storage facts ব্যবহার
🧪 Practical Lab
- LVM volume তৈরি ও mount via playbook
17
Networking & Security Automation
▾- Hostname ও network config automation
firewalldmodule — ports ও services- SELinux automation (
selinux,sefcontext, boolean) - SSH hardening via playbook
- NTP / chrony configuration
- Time zone ও locale settings
🧪 Practical Lab
- Firewall + SELinux automated hardening
18
System Roles & Advanced Facts
▾- Red Hat System Roles (
rhel-system-roles) - timesync, selinux, firewall, storage roles
- System role variables ও usage
- Consistent configuration at scale
- Conditional automation with facts
- Fact caching overview
🧪 Practical
- RHEL System Role দিয়ে time sync ও firewall deploy
19
Troubleshooting & Best Practices
▾- Playbook debugging (
debugmodule) - Verbosity levels (
-vথেকে-vvvv) - Syntax ও check mode
ansible-playbook --stepও--start-at-task- Error handling ও
ignore_errors - Common failure scenarios
- Idempotency verification
- Playbook organization best practices
20
Full RHCE Automation Lab
▾একটি complete EX294-style automation project:
- Inventory ও ansible.cfg setup
- User, group ও SSH key deployment
- Ansible Vault দিয়ে secret management
- Package, repo ও service automation
- Storage (LVM) ও fstab automation
- Jinja2 template দিয়ে config generation
- Custom role ও Galaxy content
- Conditionals, loops ও handlers
- Firewall ও SELinux hardening
- RHEL System Roles integration
Final Project
🎯 Final Capstone — EX294 Mock Exam
Trainee-কে একটি complete RHCE (EX294) style timed automation scenario deploy করতে দেওয়া হবে।
Setup
- Inventory
- ansible.cfg
- Automation user + SSH
Playbooks
- Idempotent tasks
- Conditionals ও loops
- Handlers
Variables
- group/host vars
- Facts
- Vault secrets
Templates
- Jinja2
- Dynamic config
- Filters
Roles
- Custom role
- Galaxy content
- Collections
System
- Storage / LVM
- Users ও services
- Software ও repos
Security
- firewalld
- SELinux
- System Roles
Final Outcome —
এই course শেষে একজন trainee Ansible দিয়ে RHEL 9 environment automate করতে পারবে — playbook, role, template, vault ও system role ব্যবহার করে scalable configuration deploy করে RHCE (EX294) exam-এর জন্য practical ভাবে প্রস্তুত থাকবে।