Ansible
Ansible

About Course
Module 1: Introduction to Configuration Management
- What is Configuration Management?
- Why Ansible?
- Ansible vs Puppet, Chef, SaltStack
- Use cases and benefits
Module 2: Ansible Basics
- Installing Ansible
- Inventory files (static & dynamic)
- Ad-hoc commands
- Ansible architecture and components
Module 3: Playbooks and YAML Basics
- Writing your first playbook
- YAML syntax and structure
- Tasks, handlers, and modules
- Tags and conditions
Module 4: Variables and Facts
- Defining variables (vars, group_vars, host_vars)
- Registering and using variables
- Gathering facts
- Using templates with Jinja2
Module 5: Roles and Reusability
- Ansible roles: structure and creation
- Using roles in playbooks
- Galaxy and reusable roles
- Role dependencies
Module 6: Advanced Playbook Techniques
- Loops, with_items, with_nested
- Block/rescue/always
- Asynchronous tasks and polling
- Delegation and local actions
Module 7: Managing Files and Templates
- Working with Jinja2 templates
- Copying and managing files
- Using lineinfile, blockinfile, replace modules
Module 8: Security and Vault
- Ansible Vault: encrypting variables and files
- Creating and using vault files
- Vault in CI/CD pipelines
Module 9: Working with Ansible Tower/AWX (optional)
- Introduction to Tower/AWX
- Projects, Job Templates, and Inventories
- Credentials and RBAC
- Workflow templates and surveys
Module 10: Troubleshooting and Best Practices
- Debugging playbooks
- Logging and verbosity
- Idempotency in Ansible
- Structuring large Ansible projects