Visão Geral
Curso Junos Platform Automation and Devops, aprenda como automatizar o Junos usando ferramentas, protocolos e tecnologias de automação DevOps.
Este Curso Junos Platform Automation and Devops, fornece aos alunos o conhecimento de como automatizar o Junos usando ferramentas, protocolos e tecnologias de automação DevOps. Os alunos recebem experiência prática de desenvolvimento com ferramentas e linguagens relevantes para automatizar a plataforma Junos OS em um ambiente DevOps. O Curso Junos Platform Automation and Devops, inclui uma introdução à API Junos XML e NETCONF, mas se concentra no uso de Python, PyEZ e Ansible para automatizar o Junos.
Este curso apresenta aos alunos os scripts Junos commit, operation (op), event e SNMP. JSON, YAML e Jinja2 são introduzidos, pois essas linguagens facilitam a automação do Junos. O curso também apresenta o Junos Extension Toolkit e as APIs relacionadas. Finalmente, o curso discute o uso das ferramentas de autoinstalação JSNAPy e Junos ZTP.
Por meio de demonstrações e laboratórios práticos, os alunos ganharão experiência na automação do sistema operacional Junos e nas operações do dispositivo.
Este curso usa Junos OS Release 17.1R1, PyEZ 2.0, Python 2.7 e Ansible 2.3.
Conteúdo Programatico
Course Introduction
Junos Automation Architecture and Overview
- Why Automate
- Junos MGD Based Automation
- Junos JSD Based Automation
- Automation Languages, Libraries, and Frameworks
- Automation Management Systems
- Other Junos Automation Tools
NETCONF and the XML API
- NETCONF
- XML API
- XML API Programming Languages
- XML API Tools
JSON and YAML
- Origins of JSON and YAML
- Features and Benefits
- JSON and YAML uses in Junos Automation
- Creating Well-Formed JSON and YAML Documents
- Conversion To and From XML
Python and Junos PyEZ
- Introduction to Python and PyEZ
- Python Development Environment
- Working with RPCs using Junos PyEZ
- Working with an Unstructured Junos Configuration
- Working with Junos PyEZ Tables and Views
- Junos PyEZ Exception Handling
Jinja2 and Junos PyEZ
- Jinja2 Overview
- Jinja2 Syntax
- Creating a Junos PyEZ, YAML, and Jinja2 Solution
Using Ansible to Automate Junos
- Ansible Overview
- Installing Ansible
- Creating and executing Ansible playbooks to manage devices running Junos OS
- Use Case - Using Ansible to configure devices running Junos OS
- Use Case - Using Ansible to install software on devices running Junos OS
- Use Case - Using Ansible to reboot or shut down devices running Junos OS
- Use Case - Using Ansible to revert a device running Junos OS to a factory Default Configuration
Junos Automation with JSNAPy
- JSNAPy Overview
- Installation
- Integration into Ansible
- JSNAPy d.Snapcheck, Snapshot, and Diff Functions
Junos OS Commit and Op Scripts
- Junos Automation Scripting Overview
- Creating Junos OS Commit Scripts
- Creating Junos OS Op Scripts
Junos OS Event and SNMP Scripts
- Identify Junos OS events
- Create Junos OS event policies
- Create Junos OS event scripts
- Create Junos OS SNMP scripts
YANG
- YANG Overview
- YANG Modules
- YANG Syntax
- Junos YANG Case Studies
- Creating and Using Non-Native YANG Modules
OpenConfig
- Describe the Advantages of OpenConfig
- Modify the Junos OS Configuration using OpenConfig
- Describe using OpenConfig with the Junos Telemetry Interface (JTI)
Junos Extension Toolkit (JET)
- JET Overview and Components
- Setup a JET VM
- Create JET Packages
- Use the JET API
The Junos OS REST API
- Describe the Purpose of the Junos OS REST API
- Create REST API RPC Queries
- Use the REST API Explorer
- Use Case - Using the Junos REST API
Zero Touch Provisioning
- ZTP Overview
- The purpose and value of ZTP
- The components and operations of ZTP
- How to deploy a QFX5100 Series switch using ZTP
Labs:
Lab 1: Exploring the XML API
Lab 2: Using JSON and YAML
Lab 3: Implementing Python and Junos PyEZ in Junos
Lab 4: Using Jinja2 Templates with PyEZ
Lab 5: Automating Junos with Ansible
Lab 6: Configuring JSNAPy
Lab 7: Junos Commit and Op Scripts
Lab 8: Junos event policies and scripts
Lab 9: Implementing OpenConfig
Lab 10: Implementing the Junos REST API