Introduction to Ansible/Automation with Ansible
Description
Introduction to Ansible | Automation with Ansible is a three-day, lab-intensive course geared for toward those responsible for automation of configuration management; consistent and repeatable application deployment; provisioning and deployment of development, testing, and production servers; and (optionally) integration with DevOps CI/CD workflows. Throughout the course participants will explore core Ansible features such as automatic provisioning, configuration management, service deployment and operational processes. This course also covers enterprise topics such as managing sensitive data (Ansible Vault), Ansible Tower, and integrating with Docker (optional). Attendees might include Linux system administrators, DevOps engineers, infrastructure automation engineers, and systems design engineers.
Learning Objectives
Working in a hands-on learning environment led by our expert practitioner attendees will explore how to:
- Describe Ansible concepts and install Red Hat Ansible Engine (optional – we can pre-install is as well if desired, depending on the audience)
- Deploy Ansible and Configure Ansible to manage hosts and run ad hoc Ansible commands.
- Implement playbooks
- Write a simple Ansible playbook and run it to automate tasks on multiple managed hosts.
- Manage variables and facts
- Write playbooks that use variables to simplify management of the playbook and facts to reference information about managed hosts.
- Implement task control; Manage task control, handlers, and task errors in Ansible playbooks.
- Deploy files to managed hosts
- Deploy, manage, and adjust files on hosts managed by Ansible.
- Manage large projects
- Write playbooks that are optimized for larger, more complex projects.
- Simplify playbooks with roles
- Use Ansible roles to develop playbooks more quickly and to reuse Ansible code.
- Troubleshoot Ansible
- Troubleshoot playbooks and managed hosts.
- Automate Linux administration tasks
- Automate common Linux system administration tasks with Ansible.
Course Agenda
Ansible Overview
- Overview of Architecture
- Overview of Deployments
- Inventory
Deploying Ansible
- Installing
- Configuration Files
- Running Ad Hoc Commands
- Dynamic Inventory
Playbooks
- Writing YAML Files
- Modules
Variables and Inclusions
- Variables
- Facts
- Inclusions
Task Control
- Constructing Flow Control
- Handlers
- Tags
- Handling Errors
Jinja2 Templates
- Jinja2 Templates
- Jinja2 Templates
Roles
- Role Structure
- Creating Roles
- Deploying Roles with Ansible Galaxy
Optimizing Ansible
- Configuring Connection Types
- Configuring Delegation
- Configuring Parallelism
Ansible Vault
- Configuring Ansible Vault
- Executing with Ansible Vault
Troubleshooting Ansible
- Troubleshooting Playbooks
- Troubleshooting Managed Hosts
Ansible Tower
- Ansible Tower overview
- Installing
- Account management
- Hosts
- Jobs
Bonus / Time-Permitting: Ansible in a DevOps Environment
- Provisioning Vagrant Machines
- Deploying Vagrant in a DevOps Environment
- Deploying Docker in a DevOps Environment