TP3179

Managing Network Automation with Ansible Training

This Ansible course teaches attendees how to leverage the system management and configuration tool, Ansible. Students learn methods, techniques, and capabilities for automation and implementation.  

Course Details

Duration

3 days

Prerequisites

  • Basic scripting knowledge (bash, ksh, Perl, or Python)
  • An understanding of fundamental Linux system utilities/commands. 
  • A working knowledge of a vendor specific network device is useful but not essential

Target Audience

Network administrators, engineers, system administrators, and system technicians either have little working knowledge of Ansible or limited work experience with It.

Skills Gained

  • Configure an Ansible control node to support a network appliance-managed node
  • Network hardware-specific setup requirements (for Ansible access)
  • Use standard Ansible networking modules - via ad hoc commands
  • Create standard Ansible networking modules via playbooks
  • Acquire network device information and perform configuration changes
  • Understand networking roles: create, install, and access with the Ansible Galaxy 
Course Outline
  • Introduction
    • software development (cycle) considerations
    • Ansible components and required environment setup
    • running Ansible in escalated privilege mode
    • creating and using a common Ansible account
  • Initial Setup and Configuration
    • (Review of) Ansible Core installation methods: rpm, pip, and Tower
    • Ansible documentation
    • Ansible configuration file (locations and parameter definitions)
    • inventory (hosts) file contents ( for networking nodes)
    • inventory file required variable definitions for network device connections
    • (gathering) system facts (methods)
  • (Network Device) Managed Nodes
    • resource requirements for a network device-managed node
    • overview of EVE-NG setup for network device emulation
    • using network cli for the Ansible network connection (type)
    • inventory and access control information on the control node
    • initial testing
  • Ansible Modules
    • layout and usage of an Ansible module
    • sample Linux modules: file, yum, service, shell
    • sample networking modules : ios_command, ios_config, ios_facts, ios_user
    • general networking modules usage and strategies
    • special use Ansible modules 
  • Ansible Playbooks
    • layout of a playbook: directives, variable definitions, tasks, module modifiers
    • (Methods of) variable creation and usage
    • using modules and modifiers) in playbooks
    • controls: loops, conditionals, tags, plugins, and filters
    • protecting sensitive information with the Ansible Vault
    • Jinja 2 template usage
  • Roles in Ansible
    • overview of a role
    • creating a role (structure)
    • using (a) role(s)
    • packaging up a role
    • Ansible Galaxy - capabilities and usage with roles
    • Git repo (role) repository (creation) on a non-control node
    • local access of a Git repo role repository
    • remote access of a Git repo role repository
    • importing role definitions