Привет, Хабр! Я Дмитрий Киселев, и в Центре сетевых решений «Инфосистемы Джет» я руковожу группой сервисной поддержки решений по передаче данных.
В сентябре мы c командой участвовали в большой технической конференции IT Elements: за два дня на площадке под высокими кирпичными сводами Loft Hall в Москве и под открытым сентябрьским небом собрались больше 2 тыс. гостей. Нам с ребятами нужно было придумать, как развлечь инженеров и заодно показать коллегам, с какими технологиями мы работаем. А что больше всего любят инженеры? Заставлять работать то, что не работает, поднимать то, что лежит, и еще веселье. И скорость, особенно когда речь о скорости передачи данных.
Так мы решили сыграть с гостями нашего стенда в игру — Need For Speed: VXLAN EVPN. Чтобы стать чемпионом, нужно было настроить коммутатор быстрее всех. И сегодня я расскажу, что же было под капотом у наших шести машинок.
Видео на Rutube здесь, а в ВК вот здесь.
Собрались, разогнались
Просто так настраивать BGP-VXLAN-EVPN-фабрику тоже неплохо, но с 8-bit-гонками куда интереснее, поэтому мы добавили визуализацию в стиле олдскульных гонок, которая заставляла сердца биться чаще не только от скорости, но и от нежных воспоминаний. Практическое задание Need For Speed: VXLAN EVPN было в буквальном смысле дорожной картой: чтобы двигаться вперед, нужно было корректно выполнять свою часть задания.
В заезде участвовали болиды-коммутаторы ЦОД шести вендоров: Cisco, Huawei, Arista, Qtech, H3C, а также White Box Edgecore с SONiC OS. Это было как Ford против Ferrari, только не одна гонка, а бесконечный поток в течение двух дней: заезды проходили, как только собиралась команда.
У каждого из нас есть свои любимчики среди коммутаторов, а самым упоротым больше всего нравится возиться с White Box. Чтобы у всех игроков были изначально сопоставимые шансы на победу, перед началом гонок мы проводили жеребьевку (только не в Слизерин), где каждый участник случайным образом получал один из коммутаторов.
Когда гонщики садились «за руль» своего болида, они получали:
-
маршрутный лист с описанием задачи;
-
схему сети, которую им надо было реализовать;
-
инструкцию по настройке.
В среднем один заезд занимал около 20 минут. Рекорд — около 15 минут, а самый долгий заезд был ближе к 40 минутам, и в конце мы уже помогали игроку.
У нас были опасения, что желающих будет не так много, что задание сложное, что кто-то, кто хотел красненькую машинку, получит синенькую и будет недоволен. Но сомнения развеивались как дым из-под колес с каждым заездом.
Go, мы создали
Для реализации задумки мы создали VXLAN-EVPN-фабрику с семью лифами, одним спайном и коммутатором, который использовался в роли access-подключений на лифах. Коммутаторы участников — Leaf1-6 — были без настроек. Spine (White Box Edgecore с SONiC OS) и Leaf-0 (Huawei) были полностью настроены. В роли Host-n выступал коммутатор Qtech, подключенный к каждому лифу и поделенный на множество VRF, чтобы заставить трафик идти через фабрику.
Задача гонщиков состояла в том, чтобы подключить свой коммутатор Leaf-n через Spine к Leaf-0 и добиться связности между Host-0 и Host-n, а также между loopback10 Leaf-0 и loopback10 их коммутатора.
Все коммутаторы были вмонтированы в стойку рядом с участниками, а доступ по SSH для игровых мест мы организовали по Wi-Fi.
У каждого свой путь
Чтобы жизнь не казалась медом, каждый участник заезда получал только свою часть схемы, а общую схему стенда мы не раскрывали.
Вот такие задания были у участников заезда:
Гонщики должны были настроить:
-
IP-адреса на PTP-линках
-
MTU на интерфейсе в сторону спайна
-
Loopback0 и 1, которые использовались для Router ID & RD и для VTEP-адреса соответственно
-
OSPF — на underlay
-
Анонсировать loopback-сети через OSPF
-
BGP l2vpn со спайнами
-
VTEP
-
L2 VNI
-
Порт для подключения хоста Host-n
-
VRF IT Elements
-
loopback10 для анонса его Leaf-0
-
L3 VNI
-
BGP в VRF
После корректного прохождения каждого уровня настроек появлялась необходимая связность и машинка пересекала финиш.
9 кругов VXLAN EVPN
Сами гонки мы реализовали на Python при помощи библиотек Pygame и Netmico. Анимация запускалась на отдельном ноутбуке, с которого строились SSH-сессии к «проверочным устройствам»: Leaf-0, Spine и коммутатору, выполнявшему роль Host-n, для получения информации о ходе настройки.
Для реализации движения машинок мы поделили всю трассу на девять равных частей. Каждое передвижение автомобиля соответствовало активации одного из девяти триггеров на проверочных устройствах.
Скрипт проверял следующие пункты для каждого Leaf-коммутатора участника:
-
Успешность ping со спайна до физического адреса лифа;
-
Наличие OSPF-соседства на спайне;
-
Наличие на Leaf-0 OSPF маршрута до loopback1;
-
Наличие bgp-l2vpn-соседства на спайне;
-
Наличие type3-маршрута на спайне;
-
Наличие построенного VXLAN-туннеля на Leaf-0;
-
Успешность ping с Host-0 до Host-n участника;
-
Наличие type5-маршрута с адресом loopback10 на спайне;
-
Успешность ping loopback10 на Leaf-0.
При успешном выполнении пункта машинка передвигалась на 1/9 части трассы вперед. Если какое-либо из условий переставало выполняться, то машинка откатывалась назад до номера отказавшего триггера. И иногда участников, конечно, заносило на поворотах.
На практике самым сложным для настройки коммутатором стал Edgecore из-за очень своеобразного синтаксиса, а самыми простыми, как и ожидалось, Cisco и Huawei. Тем не менее один участник на Edgecore в тяжелой борьбе выиграл заезд у игрока на Cisco. Он рассказал, что раньше был сетевиком и даже сдал CCIE (сертификат Cisco Certified Internetwork Expert) лет 30 назад. Сейчас он сетями уже не занимается, но благодаря нашей игре вспомнил молодость.
Мы попросили наших гонщиков поделиться мнениями об игре, вот они:
Кирилл Фесенко, техлид сетевой группы «СберКорус»:
«Понравился подход, само задание, визуализация прогресса выполнения очень креативно сделана. С технической стороны интересно было попробовать выполнить задачу на оборудовании различных вендоров, которых не встречал в своем опыте, сравнить наглядно подход различных производителей к решению одной и той же задачи, реализации технологии».
Владимир Романенко, старший сетевой инженер Selectel:
«На конференции коллеги подбили принять участие в Need For Speed: VXLAN EVPN, и это оказалось дико круто.
Мне попался коммутатор H3C, доступный через консоль, и его нужно было донастроить для получения связности в рамках существующей EVPN/VxLAN-фабрики.
Очень понравилось, что организаторы много внимания уделили деталям:
— одностраничная ламинированная схема сети с понятным описанием для каждого игрока;
— подробная инструкция с описанием требований финального конфига и примеры конфига для случаев, когда игрок не сталкивался с тем вендором, который попался во время жеребьевки.
Надеюсь, что коллеги из Джет смогут поделиться наработками, чтобы и на других мероприятиях любой желающий мог собрать такой здоровский стенд».
Коллеги тоже играли:
Денис Гаврилков, старший инженер по системам передачи данных «Инфосистемы Джет»:
«Очень понравилась сама идея мероприятия. Во время соревновательного процесса ты не только идешь за победой, но и имеешь отличную возможность получить практический опыт в работе с разнообразным сетевым оборудованием. Организаторы позаботились о том, чтобы участники не заблудились в лабиринте сетевых настроек, и подготовили подробную инструкцию к каждому этапу гонок. Больше всего запомнилась настройка Edgecore с его нестандартным подходом к сетевой архитектуре, это стало настоящим вызовом».
Так что задумка с гонками удалась. А с практической точки зрения этот эксперимент показал, что мы умеем реализовывать нестандартные проекты на стыке разных производителей сетевого оборудования.
И мы продолжим. В планах — усовершенствовать механику игры Need For Speed: VXLAN EVPN и придумать новые сетевые 8-bit-игры.
Встретимся на сетевых конференциях!
ссылка на оригинал статьи https://habr.com/ru/articles/861690/
Добавить комментарий