Course Overview
This course is designed to provide you the tools for:
- Working with Ansible.
- Understand how Ansible can be used for Deployment.
-
Who should attend
The course is designed for DevOps, Infrastructure, or Development teams seeking to obtain a solid foundation with Ansible.
-
Prerequisites
- Basic Unix commands.
- Basic Programming Concepts (control flows, conditionals, scripting).
Course Content
-
Linux Fundamentals
- Users and Permissions.
- Sudoers.
- Package Managers.
- Yum package manager.
- Systemd.
- Hands-on session.
Inventory and ad-hoc commands
- Static inventory.
- Dynamic inventory.
- Using Ansible and Using Ad-hoc Modules.
- Inventory variables.
- , Host variables.
- Group variables.
- Hands-on session.
Playbooks
- Anatomy of a Playbook.
- YAML Syntax.
- Anatomy of a Task.
- Module and its Arguments.
- Testing your playbook (dry run).
- Popular Modules.
- Yum_secure module.
- Hands-on session.
Advanced Playbooks:
- Variables.
- Play variables.
- Variable files.
- Extra variables.
- Using variables in playbooks
- Basic variables.
- Lists, Dictionaries.
- Compound variables.
- Registering output of tasks in variables.
- Facts.
- Conditions.
- Loops.
- Handlers.
- Hands-on session.
-
Structuring Best Practices
- Structuring playbooks.
- Includes.
- Variable includes.
- Play includes.
- Task includes.
- Dynamic vs Static includes.
- Hands-on session.
Roles - Introduction to roles,
- Building Simple roles,
- Invoking Roles from playbooks,
- Ansible Galaxy,
- Using Ansible Galaxy Roles in Playbooks,
- Hands-on session.
Intro to Python
- Introduction to Python,
- Python Packages and resources,
- Hands-on session.
Custom Modules
- Custom Modules.
- Custom Modules Parameters.
- Ansible Python Support for Modules.
- Communicating Back to Ansible.
- Testing custom modules.
- Hands-on session.