GL294 - Red Hat Enterprise Linux Automation with Ansible

Need something different? Guru Labs has other Linux and security courses and can build a custom course that covers exactly what you need!

This course offers a deep dive into the world of IT automation, leveraging the power and simplicity of Ansible. This course is designed to cater to both beginners and seasoned professionals in the realm of system administration and DevOps. It starts with a comprehensive overview of Ansible, illustrating why it's a preferred automation tool due to its simplicity, scalability, and the ability to handle complex tasks with ease. The course progresses from fundamental concepts, such as Ansible's architecture and inventory management, to more advanced topics including dynamic inventories and ad-hoc commands, ensuring a solid foundation is laid before advancing to more complex subjects.

A significant focus of the course is on Ansible Playbooks, the heart of Ansible's automation capability, where students learn to write YAML files and structure playbooks for efficient task management across diverse IT environments. Through practical examples and detailed instructions, the course covers a broad spectrum of modules for command execution, file manipulation, networking, and more, providing the tools necessary to automate nearly any aspect of a modern IT infrastructure. The course also delves into variables and facts, offering insights into dynamic data management and how to leverage data within playbooks for more dynamic and flexible automation strategies.

Advanced sections of the course introduce participants to Jinja2 templates, enhancing the dynamic generation of files based on variable data, and task control techniques to manage task flow within playbooks effectively. The concept of roles is thoroughly explored, teaching students how to package automation in reusable components, further streamlining the automation process. With a nod towards security and optimization, the course covers Ansible Vault for secure data management and various optimization strategies to make automation faster and more reliable. Network automation is also touched upon, addressing the growing need for automated network operations. By the end of the course, participants are expected to have a robust understanding of Ansible's capabilities and be well-equipped to implement and manage automation workflows in their organizations.

Audience:

  1. System Administrators: Professionals responsible for the daily management of servers, software, and hardware. This course can help system administrators automate repetitive tasks, ensure consistent configurations across multiple systems, and manage complex deployments more efficiently.
  2. DevOps Engineers: Individuals who work at the intersection of development and operations to improve collaboration and productivity by automating infrastructure, workflows, and continuously measuring application performance. The course would be invaluable for DevOps engineers looking to enhance their automation toolkit and integrate Ansible into their continuous integration/continuous deployment (CI/CD) pipelines.
  3. Network Engineers: Network professionals who design, implement, and maintain network systems. With the growing need for network automation, this course would provide network engineers with the skills to automate network configurations, updates, and diagnostics, thereby reducing manual errors and improving network stability.
  4. Security Engineers: Security professionals focused on securing IT systems, networks, and data. The course can equip security engineers with the ability to automate security configurations, patch management, and compliance checks, ensuring that security standards are consistently applied across all systems.
  5. Cloud Engineers: Engineers who specialize in cloud computing and cloud services. As cloud environments become more complex, automation is key to managing cloud resources efficiently. This course would benefit cloud engineers by teaching them how to use Ansible to automate cloud deployments, manage cloud services, and orchestrate multi-cloud environments.

Benefits:

  1. Preparation for Red Hat Certified Engineer (RHCE) Exam: This course content aligns with the objectives of the RHCE certification, making it an essential preparatory step for professionals aiming to earn this certification.
  2. Efficiency and Time Savings: One of the primary advantages of learning Ansible through this course is the significant increase in operational efficiency it offers. By mastering automation techniques, IT professionals can reduce the time and effort required for repetitive tasks, allowing them to focus on more strategic initiatives. This efficiency translates into faster deployments, quicker responses to changes, and more time for innovation.
  3. Consistency and Reliability: The course equips participants with the knowledge to use Ansible for maintaining consistent configurations across diverse environments, reducing human error and increasing the reliability of systems. This consistency is crucial for ensuring that environments, from development through to production, are configured correctly, reducing unexpected issues and downtime.
  4. Scalability and Flexibility: Ansible's simple yet powerful architecture allows IT professionals to manage complex multi-tier IT infrastructures with ease. Learning Ansible through this course provides the skills to scale operations seamlessly and adapt automation strategies as organizational needs grow and change, ensuring that IT infrastructure can efficiently evolve with the business.
  5. Cross-Domain Applications: Beyond just server configuration and management, the course highlights Ansible's versatility in various domains such as network automation, security, and cloud services. This broad applicability means that skills gained from the course can be applied across different areas of IT, making professionals more versatile and valuable to their organizations.

Version: A00

Prerequisites:

Experience with Linux shell, text editing, and basic Linux systems administration needed.

Supported Distributions:
Red Hat Enterprise Linux 8
Recommended Class Length:
4 days
Detailed Course Outline:
  1. Ansible Overview
    1. Why Ansible?
    2. Overview of Architecture
    3. QUIZ: Architecture
    4. Inventory
    5. Inventory Patterns
    6. Inventory Plugins
    7. QUIZ: Inventory and Patterns
    8. DEMO [Required]: Introducing Ansible
  2. Deploying Ansible
    1. Installing
    2. DEMO: Installing Ansible
    3. Configuration Files
    4. DEMO: Configuration Files
    5. Module Syntax Help
    6. Running Ad-Hoc Commands
    7. DEMO [Required]: Ad-Hoc Commands
    8. Dynamic Inventory
    9. DEMO [Required]: Dynamic Inventory
    Lab Tasks
    1. Deploying Ansible
    2. Ad-Hoc Commands
    3. Dynamic Inventories
  3. Playbooks Basics
    1. Writing YAML Files
    2. Playbook Structure
    3. Host and Task Execution Order
    4. Command Modules
    5. Significant Module Categories
    6. File Manipulation
    7. Network Modules
    8. Packaging Modules
    9. System Storage
    10. Account Management
    11. Security
    12. Services
    13. DEMO: Playbooks
    Lab Tasks
    1. Playbook Basics
    2. Playbooks: Command Modules
    3. Playbooks: Common Modules
  4. Variables and Inclusions
    1. Variables
    2. Variables – Playbooks
    3. Variables – Inventory
    4. Variables – Registered
    5. Variables – Magic
    6. Facts
    7. DEMO: Facts
    8. Inclusions
    Lab Tasks
    1. Variables and Facts
    2. Inclusions
  5. Jinja2 Templates
    1. Jinja2
    2. The template Module
    3. Expressions
    4. QUIZ: Jinja2 Templates
    5. Filters
    6. Methods
    7. Tests
    8. Lookups
    9. Control Structures
    10. DEMO: Jinja2 Templates
    Lab Tasks
    1. Jinja2 Templates Basics
    2. Jinja2 Templates
  6. Task Control
    1. Loops
    2. Loops and Variables
    3. DEMO: Constructing Flow Control
    4. Conditionals
    5. DEMO: Conditionals
    6. Handlers
    7. Tags
    8. Handling Errors
    Lab Tasks
    1. Task Control
  7. Roles
    1. Roles
    2. Role Usage Details
    3. Creating Roles
    4. QUIZ: Role Structure
    5. Deploying Roles with Ansible Galaxy
    6. DEMO: Deploying Roles with Ansible Galaxy
    Lab Tasks
    1. Converting Playbooks to Roles
    2. Creating Roles from Scratch
    3. Ansible Galaxy Roles
  8. Optimizing Ansible
    1. Connection Types
    2. Delegation
    3. Parallelism
    4. Callback Plugins
    Lab Tasks
    1. Optimizing Ansible
  9. Ansible Vault
    1. Configuring Ansible Vault
    2. Vault IDs
    3. Executing with Ansible Vault
    4. DEMO: Configuring Ansible Vault
    Lab Tasks
    1. Ansible Vault
  1. Network Automation
    1. Network Automation
    2. Simple Network Module Examples
    3. Network Modules: Gotchas
    4. Simple IOS Modules Examples
    5. General Purpose ios Modules