Вступление
Консоль LB — это приложение, которое включает функциональные возможности, предоставленные Bigip F5 UI для настройки балансировщика нагрузки. Bigip F5 Balancer-один из широко используемых балансировщиков нагрузки (по крайней мере, в домене электронной коммерции).
Постановка задачи
Хотя Bigip F5 имеет очень эффективный пользовательский интерфейс, но с точки зрения удобства использования пользователей необходимости иметь некоторое понимание того, как работает F5.
Вещи получают большой комплекс для команд, которые хотят объединить приложение мониторинга, приложение развертывания и других запланированных мероприятий. Поскольку существует кривая обучения, необходимая для понимания базовой работы F5, а также интеграция API на нескольких уровнях кажется накладным расходом для потребителя.
Решение
Приложение, которое выполняет все необходимые транзакции с Bigip F5. Это открывает конечные точки покоя, которые могут быть использованы для интеграции с другими приложениями.
У прощественного пользовательского интерфейса удобно и быстро. Механизм отслеживания, который сохраняет журнал все критически важной транзакции.
Технический стек
- Python Django Framework
- Pycontrol.
- Elasticsearch
- Python Boto3.
- Докер
Спокойный подход
Реализация простого подхода Restful оказался чрезвычайно полезным, поскольку он позволил командам легко интегрироваться с стратегиями развертывания и перемещения приложения из центров обработки данных в Cloud (AWS & OpenStack).
Джанго БД кэширование
Поскольку объем бассейнов и серверов, сконфигурированных на F5, были Moderatley Bard ~ 3K-серверами под бассейнами ~ 1k, читающие вызовы от консоли LB для Bigip F5 были значительными. Следовательно, минимизировать количество звонков на кэширование на основе F5 Django DB пригоднее.
Это позволило приложению запросить непосредственно на F5 только тогда, когда требуемые данные не присутствовали в кэше. Результат из каждого запроса F5, сохраненного в кэше, с коротким TTL (300 -е) гарантировал, что данные обслуживаются почти мгновенно, и запросы F5 вызовы только в случае возникновения кэша.
Elasticsearch на основе ведения журнала
Elasticsearch На основании журнала Каждое из транзакции Create/Update/DELETE помогло сохранить критические данные, доступные для потребителей. Пользовательский интерфейс является основным потребителем для отображения журналов на сервер или пул, позже, то же самое интегрировано с нашим каналом IRC для пользователей, чтобы запросить журналы из самого IRC.
Докер
Традиционно проекты Django были отправлены в виде файлов TAR в производстве или в некоторых случаях развертывались через GIT. Таким образом, чтобы привлечь некоторую надежность и стандартизацию в подходе к развертыванию Docker очень удобно, а также обычные преимущества использования контейнеризации.
Применение консоли LB также решает сложные проблемы, такие как:
- Переключение трафика внутри центров обработки данных.
- Управление записями DNS в AWS Route53.
Оригинал: «https://dev.to/paritoshanand/lb-console-for-bigip-f5-d1k»