This live online or in-person Network Device Automation with Ansible Core training course teaches attendees how to automate the control and configuration of network devices, including routers, firewalls, and other hardware. Students learn how to write and apply playbook definitions, the key part of Ansible that allows uniform control and management of network device environments (from Cisco, F5, and other vendors).
Skills Gained
- Configure an Ansible control-node and a network appliance managed-node
- Network hardware-specific setup requirements
- Use standard Ansible networking modules via ad hoc commands
- Use standard Ansible networking modules via playbooks
- Acquire network device information and perform configurations
- Understand networking roles
- Create, install, and access with the Ansible Galaxy
Prerequisites
All participants must be working systems and network administrators/developers/technicians with some scripting knowledge (bash, ksh, Perl, or Python) and an understanding of fundamental Linux system utilities and commands. Working knowledge of a vendor-specific network device is useful but not essential.
Training Materials
All Ansible training students receive comprehensive courseware covering all topics in the course.
Software Requirements
Attendees will not need to install any software on their computers for this class. The class will be conducted in a remote environment that Accelebrate will provide; students will only need a local computer with a web browser and a stable Internet connection. Any recent version of Microsoft Edge, Mozilla Firefox, or Google Chrome will work well.
Outline
- Introduction
- Software development (cycle) considerations
- Ansible components and required environment setup
- Running Ansible as root
- 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 (Linux and 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, cron, user, shell
- Sample networking modules: ios_command, ios_config, ios_facts
- Networking modules usage and strategies
- Special use Ansible modules
- Ansible Playbooks
- Layout of playbook sections : directives, variable definitions, tasks, handlers, module modifiers
- Variable creation and usage
- Using modules and modifiers) in playbooks
- Controls: loops, conditionals, tags, notifications 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
- Conclusion