КОМИТЕТ ПО НАУКЕ И ВЫСШЕЙ ШКОЛЕ
Санкт-Петербургское государственное бюджетное
профессиональное образовательное учреждение
«Санкт-Петербургский технический колледж управления и коммерции»

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
| На тему | Автоматизация администрирования сетевой инфраструктуры предприятия |
Студента: Жукова Владимира Андреевича
Группы: 9КС-41
Руководитель проекта:
Худяков О.Ю.
Санкт-Петербург
2020
Проблема исследования
Проблема:
- Постоянно возрастающая сложность управления вычислительными сетями на предприятиях.
Объект:
- Автоматизация администрирования вычислительных сетей.
Предмет:
- Современные программные реализации и методы управления активным сетевым оборудованием.
Цель и задачи исследования
Цель:
- Разработать решение для автоматизации управления сетевой инфраструктурой.
Задачи:
- Рассмотреть современные сетевые технологии и концепции.
- Создать подсистему для инвентаризации сетевых устройств.
- Развернуть подсистему по контролю версий конфигураций.
- Спроектировать подсистему генерации конфигураций.
- Автоматизировать процесс применения конфигураций.
- Реализовать методы тестирования компонентов системы.
- Объединить все компоненты в единое решение.
Методология DevOps

Использованное ПО
Виртуализация:
- GNS3 - Эмуляция сети
- Docker - Среды для GitLab Runners
- Docker-compose - Среда для NetBox
- Libvirt - Управление виртулизацией
Source of Truth:
- NetBox - Данные об устройствах
- GitLab - Конфигурации оборудования
Контроль версий:
- Git - Система контроля версий
- GitLab - Менеджер репозиториев
Среда разработки:
- Python3.7 - Язык программирования
- VirtualEnv - Виртуальная среда
Валидация файлов:
- Ansible - Синтаксис Playbook
- Yamllint - Синтаксис YAML
- Kwalify - Ограничение YAML
- Jinja2_validate - Синтаксис Jinja2
Тестирование устройств:
- PyATS - Платформа для тестов
- Genie - Расширение для pyATS
- Robot Framework - Фреймворк для TDD
Управление конфигурациями:
- Ansible - Менеджер конфигураций
- NAPALM - Взаимодействие с устройствами
План разработки
| № | Level | Tools | |||
|---|---|---|---|---|---|
| 4 | Source of Truth | NetBox | GitLab | ||
| 3 | Distributed Version Control | Git | |||
| 2.5 | Validation | Yamllint | Kwalify | Jinja2_validate | Ansible |
| 2 | Automation | Docker | Python | PyATS/Genie + Robot Framework | |
| 1 | Environments | GNS3 | |||
Виртуальная среда
Предполагаемая среда
CI/CD Pipeline
| Стадия | Операции | Runner | Метод |
|---|---|---|---|
| Validation | Валидация файлов | testing_env | Автоматически |
| DeployToTestEnv | Проверка в тестовой среде | testing_env | Автоматически |
| VerifyTestEnv | Тестирование устройств | testing_env | Автоматически |
| PeerReview | Пересмотр вносимых изменений | prod_env | После Merge |
| DeployToProdEnv | Отправка в реальную среду | prod_env | Вручную |
| VerifyProdEnv | Тестирование устройств | prod_env | Автоматически |
(Пользователь) Создание Issue с описанием проблемы/предложения
Рассмотрение и принятие Issue администратором
Создание Merge Request и ветки develop
Синхронизация локального и удаленного репозиториев
Редактирование файлов конфигурации и написание тестов
Проверка изменений в среде для разработки
(В случае ошибки) Исправление ошибок и повторная проверка
-
Отправка директории проекта в удаленный репозиторий
-
Автоматический запуск Pipeline:
-
Валидация файлов
-
Сборка и отправка конфигураций (с заменой)
-
Тестирование
-
-
(В случае ошибки) Исправление ошибок и повторная отправка
-
Merge ветки develop с веткой master
-
Автоматический запуск Pipeline:
-
Сборка и отправка конфигураций (без замены)
-
-
Проверка вносимых изменений
-
Ручная отправка конфигураций (с заменой) и автоматизированные тесты
-
(В случае ошибки) Закрытие Merge Request и Revert (откат)
Использованная компьютерная сеть
Вывод
Разработанное решение подтвердило гипотезу и следующие предположения:
- Процесс работы сетевых специалистов был упрощен и оптимизирован
- Снизилась вероятность отказа работы сети и ее сегментов
- Выполнение заявок клиентов стали выполняться последовательно с документированием всех действий
- Появилась возможность отката состояния сети до любого предыдущего
- Снизились затраты на обслуживание вычислительной сети предприятия и на обеспечение отдела по ее администрированию
Diploma
By Vladimir Z
Diploma
- 207