Course description
Ansible Essentials
Ansible is growing in popularity for good reasons. It’s easy to understand, far simpler than Python, and extremely powerful. While Python can be used to do just about anything, Ansible is used to bring structure and consistency to system deployments, implementations, and changes. Students tempted to write a complex Python script to do a networking automation task will discover that problem is already solved by an Ansible module. Lots of unnecessary Python scripts can be eliminated by using Ansible whenever possible. Ansible can be used for both network and server administrators alike.
Upcoming start dates
Training content
Day 1 (Ansible Introduction)
Ansible Introduction
- Ansible definition
- Exploring modules
- Building a task
- Places to define Ansible vars
- hosts aka ""Inventory""
- Creating a A play
- Looking at the “handler”
- Running a playbook
- Introduction to YAML
- Requirements for connecting to remote hosts
Installation
- Configuration requirements on the control machine
- Python requirements on the host
- Using ansible raw to install Python
Ansible config file and directory structure
- ansible.cfg
- Ansible Inventory
- roles
Ansible Static Inventory
- Defining Hosts and Groups
- Host and Group variables
- Groups of Groups
- Default Groups
YAML
- YAML Gotchas
- YAML Dictionary
- YAML list
- YAML list of dictionaries
- YAML Alternate format
- Relationship to JSON
Day 2 (Ansible for Server Operations)
Ansible Ad hoc commands
- Ad hoc command syntax
- Parallel Shell commands
- Managing packages
- Managing users and groups
- Gathering facts
- ad hoc cheat sheet
Writing a Simple Playbook
- Elements of a well written playbook
- A well-written Ansible play
- Using include files for tasks
- A well-written ansible variable file
- A well-written ansible inventory file
Ansible config file and directory structure
- ansible.cfg
- Best practices concerning directory structures and organization
- Host Inventory and ansible_vars
- Introduction to roles
Key Server Modules to Know
- Understanding modules documentation
- setup / gather_facts
- copy
- apt / yum / pip
- command / shell
- git
- get_url
- debug
- lineinfile
Day 3 (Ansible for Network Operations)
Ansible and Jinja
- What is Jinja2?
- jinja variables
- jinja filters
- jinja tests
- How to use ansible template
- Review of the ansible template documentation
Conditional and Looping Tasks
- Variables and Loops
- Using Complex Variables in Loops
- Variables and Templates
- Using variables in conditions
- Blocks
- Prompts
- Getting variables from the system
- Setting variables in playbooks
- registered variables
- Getting variables from the command line
- Where is the best source to derive variables values?
Ansible Network Solutions with Ansible (focus on Juniper and Cisco)
- Writing Cisco and Juniper playbooks
- Modules for Cisco (IOS, NXOS, IOSXR, etc)
- Exploring Juniper solutions
- Built in Juniper modules
- Role based Juniper modules
- Installing a module from Juniper vendor
- Securing credentials / best practices
- New additions within the latest version of Ansible (v2.9)
Day 4 (Customizing Ansible & Ansible for Cloud)
Dynamic Inventory Management
- What is Dynamic Inventory?
- A review of static Inventory Practices
- Using JSON as an Inventory Source
- Using YAML as an Inventory Source
- Pulling Inventory from an API
- AWS EC2 Example
- OpenStack Example
Ansible for OpenStack and AWS
- Overview of OpenStack
- Understanding the OpenStack client
- What is openstack-sdk (or shade)?
- clouds.yaml
- Installing openstack-sdk
- Using openstack-sdk
- OpenStack modules
- os_network
- os_subnet
- os_router
- os_server
- os_server_action
- os_security_group
- os_security_group_rule
- What is boto?
- Installing boto for AWS
- AWS modules
- ec2
- aws_s3_bucket_info
- redshift
Variables and Python
- Jinja Filters for variable manipulation
- Using Python within playbooks for variable manipulation
- Best practices for Variables
- Securing credentials with Ansible Vault
- Encrypting Playbooks with Ansible Vault
Day 5 (Ansible Playbook Design & Review)
Roles and Ansible Galaxy
- Why we need Ansible Roles
- Role Directory Structure
- Using Roles
- Role default variables
- Converting a Playbook to a Role
- Exploring Ansible Galaxy
- Running a role from Ansible Galaxy
Playbook Best Practices
- Directory Layout
- Use Dynamic Inventory With Clouds
- How to Differentiate Staging vs Production
- Group And Host Variables
- Top Level Playbooks Are Separated By Server Type
Ansible Tower / AWX Essentials
- What is Ansible Tower and AWX
- Why you should consider using Jenkins as a replacement for Ansible Tower
- Pushing and pulling playbooks from GitHub
Costs
- Live Webinar fee: $2,195.00
- E-Learning fee: $295.00
- Contact the provider for more information about pricing for on-site delivery option
Quick stats about Alta3?
25+ years specializing in technology training
Over 95% student satisfaction rate
Training delivered in 9+ countries
Reviews
Average rating 5
I thought the approach of doing the labs in a interactive manner was very effective. Tailoring the content over the last couple of days to cover our current infrastructure made...
I found it very informative and I now feel more comfortable with the Ansible. Instructor is great. He has lot of knowledge on automation. Thanks
Contact this provider
Alta3 Research
Since 1997, Alta3 Research has been empowering organizations and individuals using their expert approach to Cloud, DevOps and Telecom training. We develop and perform technical training via live classroom, online classes and our library of self-paced learning videos and labs....
I really like the challenges that allow the students an opportunity to code on their own.