Ansible Essentials Training

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. 

Training at a glance

Level

Beginner

Duration

5 Days

Experience

1 year: Basic Networking & DevOps

Average Salary

$115,820

Labs

Yes

Level

Beginner

Duration

5 Days

Experience

1 year: Basic Networking & DevOps

Average Salary

$115,820

Labs

Yes

Training Details

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.

In this course you will get an introduction to Ansible, explore Ansible for server operations and network operations, and participate in a variety of labs.

Lesson 1 – Ansible Introduction
  1. 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
  2. Installation
    • Configuration requirements on the control machine
    • Python requirements on the host
    • Using ansible raw to install Python
  3. Ansible config file and directory structure
    • ansible.cfg
    • Ansible Inventory
    • Roles
  4. Ansible Static Inventory
    • Defining Hosts and Groups
    • Host and Group variables
    • Groups of Groups
    • Default Groups
  5. YAML
    • YAML Gotchas
    • YAML Dictionary
    • YAML list
    • YAML list of dictionaries
    • YAML Alternate format
    • Relationship to JSON
Lesson 2 – Ansible for Server Operations
  1. Ansible Ad hoc commands
    • Ad hoc command syntax
    • Parallel Shell commands
    • Managing packages
    • Managing users and groups
    • Gathering facts
    • ad hoc cheat sheet
  2. 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
  3. Ansible config file and directory structure
    • ansible.cfg
    • Best practices concerning directory structures and organization
    • Host Inventory and ansible_vars
    • Introduction to roles
  4. Key Server Modules to Know
    • Understanding modules documentation
    • setup / gather_facts
    • copy
    • apt / yum / pip
    • command / shell
    • git
    • get_url
    • debug
    • lineinfile
Lesson 3 – Ansible for Network Operations
  1. Ansible and Jinja
    • What is Jinja2?
    • jinja variables
    • jinja filters
    • jinja tests
    • How to use ansible template
    • Review of the ansible template documentation
  2. 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?
  3. 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)
  4. Ansible Galaxy and Roles
    • Introduction to Ansible Galaxy
    • Searching for roles
    • Downloading roles
    • Creating roles
    • Role directory structure
    • Using roles in your playbooks
    • Best practices for roles
    • Creating and sharing your own roles
  5. Ansible Vault
    • What is Ansible Vault?
    • Creating encrypted files
    • Editing encrypted files
    • Encrypting existing files
    • Using encrypted files in playbooks
    • Best practices for vault passwords
    • Multiple vault passwords
    • Decrypting files
    • Rekeying files
Labs:
  1. SSH client and server configs
  2. RSA key gen
  3. Methods for Installing Ansible
  4. Ansible Host Inventory
  5. Ad-Hoc Modules and Gather Facts
  6. Elevated Ad-Hoc Commands
  7. Running your first Playbook
  8. Ad-Hoc Raw Commands
  9. Debug, Loops, and YAML Lists
  10. When Conditionals, YAML Dictionaries, and Jinja
  11. ansible.cfg setup
  12. Building Playbooks - Bootstrap with raw, group, and user Modules
  13. Mapping YAML Vars Files in Playbooks
  14. Ansible Modules - shell
  15. Ansible Module - copy
  16. Ansible Module - apt
  17. Ansible Module - yum
  18. Ansible Module - get_url
  19. Ansible Module - file
  20. Ansible Module - git
  21. Ansible Module - template
  22. Playbook Tags
  23. Ansible Module - lineinfile and replace
  24. Manually Launch an OpenStack Instance
  25. OpenStack, Ansible and Shade
  26. YAML, JSON, Dynamic, and Cloud Inventories
  27. Configuring a Web Service with Ansible
  28. Ansible Handlers
  29. Ansible Error Handling
  30. pre_tasks, roles, tasks, post_tasks, and handlers
  31. Exploring Switches with Ansible
  32. network_cli Playbook
  33. Backup and Save Config - Cisco, Juniper, Arista, and many more
  34. Network Playbooks and Vendor Specific Modules
  35. Simplifying Network Playbooks with Agnostic Modules
  36. Reading Variables into Playbooks
  37. Ansible script module
  38. Ansible Lookup Plugin
  39. Ansible Playbook Output Logging
  40. Ansible Keywords - register and when
  41. Ansible Galaxy
  42. Ansible Vault
  43. Ansible Tower
  44. (Optional Case Study) Ansible for Palo Alto PanOS and Panorama
  45. (Optional Case Study) Ansible for Juniper Junos Core and Role Modules
  46. (Optional Case Study) Ansible for VMWare NSX Networking
  47. (Optional Case Study) Ansible NAPALM for Network Automation

System administrators, network engineers, and developers might find this course compelling as well as cloud administrators and network administrators.

Coding experience in another language serves as an adequate prerequisite.

Upcoming Classes

We Offer More Than Just Ansible Essentials Training

Our successful training results keep our corporate and military clients returning. That’s because we provide everything you need to succeed. This is true for all of our courses.

Strategic Planning & Project Management

From Lean Six Sigma to Project Management Institute Project Management Professional, Agile and SCRUM, we offer the best-in-class strategic planning and project management training available. Work closely with our seasoned multi-decade project managers.

IT & Cybersecurity

ATA is the leading OffSec and Hack the Box US training provider, and a CompTIA and EC-Council award-winning training partner. We offer the best offensive and defensive cyber training to keep your team ahead of the technology skills curve.

Leadership & Management

Let us teach your team the high-level traits and micro-level tools & strategies of effective 21st-century leadership. Empower your team to play to each others’ strengths, inspire others and build a culture that values communication, authenticity, and community.

From Lean Six Sigma to Project Management Institute Project Management Professional, Agile and SCRUM, we offer the best-in-class strategic planning and project management training available. Work closely with our seasoned multi-decade project managers.
ATA is the leading OffSec and Hack the Box US training provider, and a CompTIA and EC-Council award-winning training partner. We offer the best offensive and defensive cyber training to keep your team ahead of the technology skills curve.
Let us teach your team the high-level traits and micro-level tools & strategies of effective 21st-century leadership. Empower your team to play to each others’ strengths, inspire others and build a culture that values communication, authenticity, and community.