Python для сетевых инженеров - Human Growth Kazakhstan

Python для сетевых инженеров

Направление

  • PYT03 — Программирование на Python для сетевых инженеров, базовый курс
    • Длительность: 5 дней (40 часов)
    • Код курса: PYT03
    • Стоимость
    • Очный формат: 624 000 ₸
    • Онлайн формат: 527 000 ₸

    Описание курса

    Описание курса:

    В данном курсе рассматриваются как общие аспекты работы языка программирования Python, так и применение его возможностей в сценариях обслуживания работы сетевого оборудования в сетях передачи данных. В курсе изучаются общие положения программирования и использование специализированных инструментов и библиотек для взаимодействия с сетевыми устройствами.

    Аудитория курса:

    Сетевые инженеры и сетевые администраторы, которые хотят дополнить свои знания сетей передачи данных использованием инструментов программирования.

    Предварительные требования:

    Знания языка Python на уровне курса Программирование на языке Python (PYTHON_BASIC)
    Знания принципов работы сетей пакетной передачи данных в объеме сертификации CCNA (или аналогичных) и более. Рекомендуется знакомство с оборудованием одного из крупных производителей сетевого оборудования (Cisco Systems, Juniper Networks и т.д.)

    Содержание курса:

    1. Python. Типы данных

    Основные факты о языке программирования Python 3 (тип, устройство, сферы применения). Преимущества использования Python в сетях передачи данных.
    Примеры синтаксиса языка. Документация PEP.
    Стандартные типы данных (переменные, списки, кортежи, словари, сеты, файлы) с примерами использования и основными операциями над ними (преобразования типов, генерирование и т. д.).
    Типы данных (и библиотеки), используемые в работе с сетевым оборудованием (ipAddress, XML, JSON, YAML) с примерами использования и основными операциями над ними (преобразования типов, генерирование и т. д.).
    Лабораторная работа 1.
    Работа с типами данных (стандартными и дополнительными).

    2. Операторы, функции и библиотеки

    Условный оператор if/elif/else.
    Операторы циклов while и for. Работа с циклами (break, continue).
    Понятие функций. Рассмотрение синтаксиса, локальные и нелокальные переменные. Операторы return и yield. Отличие и примеры использования функций и генераторов.
    Регулярные выражения и использование библиотеки re.
    Модули и библиотеки. Назначение, использование, правила оформления.
    Лабораторная работа 2.
    Работа с условными операторами и циклами.
    Лабораторная работа 3.
    Работа с функциями и генераторами.

    3. Исключения и Netmiko

    Обработка исключений. Операторы try/except/else/finally, оператор raise. Назначение и примеры использования.
    Библиотеки взаимодействия с сетевыми устройствами посредством CLI. Библиотека Netmico.
    Лабораторная работа 4.
    Использование библиотек Netmiko для взаимодействия с сетевыми устройствами.

    4. NETCONF, REST API

    Протокол NETCONF и библиотека ncclient. Применение, основные понятия, принципы работы с библиотекой. Поддержка производителями.
    Формат REST API и библиотека request. Применение, основные понятия, принципы работы с библиотекой. Поддержка производителями. Cisco NX-API – примеры, особенности.

    5. Объектно-ориентированное программирование

    Общая концепция ООП.
    Парадигмы ООП.
    Классы.
    Создание классов.
    Дополнительные возможности классов.
    Лабораторная работа 5.
    Работа с ООП. Классы.

  • PYT04 — Python для сетевых инженеров, дополнительные темы
    • Длительность: 5 дней (40 часов)
    • Код курса: PYT04
    • Стоимость
    • Очный формат: 624 000 ₸
    • Онлайн формат: 527 000 ₸

    Описание курса

    Описание курса:

    В данном курсе рассматриваются расширенные темы использования языка программирования 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 для работы с сетевым оборудованием

  • PYT05 — Настройка сетевого оборудования с использованием Ansible
    • Длительность: 5 дней (40 часов)
    • Код курса: PYT05
    • Стоимость
    • Очный формат: 624 000 ₸
    • Онлайн формат: 527 000 ₸

    Описание курса

    Описание курса:

    На данном курсе участники познакомятся с системой управления конфигурациями Ansible для работы с настройкой сетевого оборудования различных производителей. В курсе рассматриваются аспекты подготовки инфраструктуры под использование Ansible и осуществление конфигурационных и мониторинговых работ над оборудованием с помощью встроенных и дополнительных инструментов Ansible. Участники курса получат навыки эксплуатации Ansible с использованием рекомендованных практик, а также информацию о поиске и устранении неполадок в работе системы управления конфигураций.

    Аудитория курса:

    Курс будет интересен сетевым администраторам, сетевым архитекторам и специалистам технической поддержки.

    Предварительные требования:

    Знания языка Python на уровне курса Программирование на языке Python (PYTHON_BASIC).

    Содержание курса:

    1. Основы Ansible и установка.

    Архитектура и назначение Ansible
    Устройство инвентарных данных Ansible
    Установка и предварительная настройка
    Установка и настройка Ansible AWX
    Основы построения Ansible Playbook
    Переменные и модули
    Отправка команд командной строки

    2. Построение комплексных плейбуков

    Управление учетными записями
    Сбор фактов о сетевых устройствах
    Tag, limit и check
    Условия
    Петли (циклы)
    Шаблонизация конфигурации

    3. Масштабирование работы с инфраструктурой

    Специализированные модули для конфигурации
    Import и Include
    Роли
    Парсинг выводов сетевых устройств
    Динамическая инвентаризация
    Управление процессом выполнения

    4. Расширенные возможности Ansible

    Jinja2 lookup плагин
    Фильтры
    Плагины
    Устранение неполадок работы Ansible
    Ansible Vault

    5. Интеграция и расширенные темы

    Интеграция со сторонними системами инвентаризации
    Интеграция со сторонними системами конфигурирования
    Создание пользовательских модулей

    Упражнения

    Установка и настройка Ansible и Ansible AWX
    Инвентаризация и базовая отправка команд на группы устройств
    Использование условий и циклов
    Создание и использование шаблонов конфигурации
    Роли и импорты
    Использование плагинов и фильтров
    Использование Ansible Vault
    Устранение неполадок
    Интеграция с NetBox и NAPALM

Записаться на курс