Red Hat Certification Training

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.cfg configuration 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_varshost_vars directory
  • Variable precedence
  • Registered variables
  • Ansible Facts (setup module)
  • 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: when statement
  • 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
  • template module ও .j2 files
  • 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 / yum module — 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

  • usergroup module
  • Password hashing (password_hash filter)
  • 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

  • file module — permission, ownership, links
  • copyfetch
  • lineinfileblockinfile
  • replace module
  • service / systemd module
  • Enable, start, restart, reload
  • Cron jobs (cron module)
🧪 Practical
  • Config file edit ও service state management
16

Storage & Partition Automation

  • Partition management (parted module)
  • Filesystem creation (filesystem module)
  • Mounting (mount module ও fstab)
  • LVM automation (lvg, lvol)
  • Swap configuration
  • Storage facts ব্যবহার
🧪 Practical Lab
  • LVM volume তৈরি ও mount via playbook
17

Networking & Security Automation

  • Hostname ও network config automation
  • firewalld module — 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 (debug module)
  • 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 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 ভাবে প্রস্তুত থাকবে।
Red Hat RHCE (RHEL 9 · EX294) — Training Course Outline  ·  Automation with Ansible