PYT04 - Python для сетевых инженеров, дополнительные темы
Описание курса:
В данном курсе рассматриваются расширенные темы использования языка программирования Python для обслуживания сетевого оборудования и автоматизации различных задач сетевого администратора. Изучаются принципы работы с инструментами парсинга и генерации конфигурационных файлов, инструменты анализа конфигурации, а также установка и настройка средств автоматизации управления сетевыми устройствами
Аудитория курса:
Сетевым инженерам и сетевым администраторам, которые хотят дополнить свои знания сетей передачи данных использованием инструментов программирования.
Предварительные требования:
Знания принципов работы сетей пакетной передачи данных в объеме сертификации CCNA (или аналогичных) и более. Рекомендуется знакомство с оборудованием одного из крупных производителей сетевого оборудования (Cisco Systems, Juniper Networks и т.д.). Также рекомендуется прохождение курса Программирование на Python для сетевых инженеров. Базовый курс (PYTHON_NET)или эквивалентный объем знаний.
Содержание курса:
1. Установка сред написания программ и скриптов, установка тестовых сетевых сред
Работа с Jupyter Lab Установка Docker Установка и настройка ContainerLab Лабораторная работа. Подготовка среды для упражнений
2. Парсинг конфигурационных файлов и выводов команд устройств
Основы парсинга текстовых документов в Python Библиотека TextFSM Библиотека TTP Соединение операций библиотеки Netmiko и парсинга выводов команд Лабораторная работа 1. Парсинг выводов команд сетевого оборудования
3. Библиотека Batfish
Назначение инструмента Batfish Установка контейнера Batfish Подготовка к использованию Batfish в Python Возможности Batfish по анализу файлов конфигурации Лабораторная работа 2. Установка Batfish и работа с конфигурационными файлами устройств
4. Библиотека Jinja2 для создания конфигурационных файлов
Подготовка к использованию Jinja2 Синтаксис шаблонов Jinja2 Лабораторная работа 3. Создание конфигурационных файлов с помощью Jinja2
5. Nornir (подготовка и инициализация)
Установка и подготовка Построение инвентарных данных Основы синтаксиса Лабораторная работа 4. Установка и подготовка фреймворка Nornir
6. Nornir (использование)
Конфигурационные опции и подготовка результатов Задания и обработка инвентарных данных Пользовательские задания Обработка неполадок и ошибок заданий Лабораторная работа 5. Использование Nornir для настройки и обслуживания сетевого оборудования
7. Готовые библиотеки и фреймворки от производителей оборудования
Рассмотрение работы библиотек различных сетевых производителей (Cisco, Juniper и т.д.) Лабораторная работа 6. Использование фреймворков и библиотек от производителей оборудования
8. Использование инструментов CI/CD для работы с сетевым оборудованием
Установка и настройка Jenkins Построение pipeline в Jenkins для выполнения серий заданий на сетевых устройствах Лабораторная работа 7. Использование Jenkins для работы с сетевым оборудованием