Ранее я рассказывал про 3 программных продукта для организации тестовых полигонов на базе виртуальных машин. Рекомендую сохранить информацию о них:
▪ GNS3
▪ EVE-NG
▪ PNETLab
Сегодня речь пойдёт о похожей программе, только на базе контейнеров docker - Containerlab. Сами разработчики Containerlab называют её Framwork для построения сетевых лабораторий на основе контейнеров. Сразу становятся очевидны явные плюсы и минусы такого подхода. Плюсы - быстрый деплой систем, экономия ресурсов по сравнению с виртуальными машинами. Минусы - все ограничения контейнеров, и как итог - ограниченный набор готовых контейнеров операционной системой Linux.
Containerlab - бесплатное, open source решение. С его помощью можно разворачивать тестовые лаборатории в один клик с помощью преднастроенных заранее конфигураций. То есть реализуется современный подход Labs-as-a-code.
Посмотрите демонстрационное видео. Выглядит всё это действительно просто и удобно. Есть возможность запускать вместе с тестовыми виртуальными машинами на базе qemu. Они просто подключаются в сетевой бридж, который создаёт docker. Управляются нативно через общий конфигурационный файл вместе с контейнерами
Для Containerlab уже существуют готовые контейнеры с системами некоторых популярных вендоров (Nokia SR-Linux, Arista cEOS, Azure SONiC, Juniper cRPD, Cumulus VX). Если честно, я вообще впервые про них услышал 🧐 Когда не нашёл контейнера с RouterOS, продукт пал в моих глазах практически до самого пола. Но поднялся, после того, как я увидел, что поддержка RouterOS есть, но запускается она через qemu с нативной интеграцией в едином конфиге.
Стоит ещё добавить, что Containerlab поддерживает дистрибутив FRRouting, который является софтовой open source реализацией различных протоколов маршрутизации: BGP, OSPF, RIP, IS-IS, PIM, LDP, BFD, Babel, PBR, OpenFabric, VRRP и др. То есть отлично подходит для сетевых экспериментов.
Я вообще не нашёл никакой информации о Containerlab на русском языке. Насколько всё это удобно и юзабельно в реальности остаётся только догадываться. Сам я не тестировал. Но выглядит очень интересно. В первую очередь своим подходом Labs-as-a-code. Если кто-то пользовался, дайте обратную связь.
Сайт - https://containerlab.dev/
Исходники - https://github.com/srl-labs/containerlab
Видео с обзором - https://www.youtube.com/watch?v=xdi7rwdJgkg
#testlab