PYT04 — Python для сетевых инженеров, дополнительные темы
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 для работы с сетевым оборудованием