
Балансировка входящего трафика на железе: как надёжно вывести K8s наружу с MetalLB, BGP и L2 (подход от Deckhouse)
bigvrn 20 минут назад Балансировка входящего трафика на железе: как надёжно вывести K8s наружу с MetalLB, BGP и L2 (подход от Deckhouse) Средний 11 мин 813 Блог компании Флант Kubernetes * DevOps * Сетевые технологии *...
В сфере искусственного интеллекта произошло заметное событие. bigvrn 20 минут назад Балансировка входящего трафика на железе: как надёжно вывести K8s наружу с MetalLB, BGP и L2 (подход от Deckhouse) Средний 11 мин 813 Блог компании Флант Kubernetes * DevOps * Сетевые технологии * Системное администрирование * Туториал Как опубликовать приложение из Kubernetes наружу — со стабильным IP, балансировкой и автоматическим failover? В облаке это решает провайдер: создал сервис type: LoadBalancer — и получил готовый балансировщик. На bare metal такой «магии» нет: ClusterIP и NodePort не дают ни единого внешнего IP, ни отказоустойчивости.
В этой статье разберём принципы работы внешней балансировки L4: от базовых сервисов ClusterIP/NodePort до MetalLB в режимах BGP и Layer 2. Покажем, как эти механизмы реализованы на практике, в Deckhouse Kubernetes Platform (DKP), где доступен в том числе улучшенный L2-режим. Вы поймёте, как спроектировать отказоустойчивую точку входа для трафика независимо от того, используете ли вы готовые платформы или настраиваете инфраструктуру самостоятельно.
Технические детали
Меня зовут Игорь Бужин, я инженер в Deckhouse Академии, веду и разрабатываю различные курсы. Мы учим строить стабильную и надёжную ИТ-инфраструктуру на базе продуктов экосистемы Deckhouse. Предлагаем онлайн-курсы с экспертами-преподавателями и бесплатные материалы для самостоятельного изучения.
Обучение дистанционное: лекции, демонстрации в живом кластере и практика на персональном стенде. По итогам — уверенные навыки и возможность получить официальную сертификацию. Почему стандартных сервисов Kubernetes не хватает для внешнего доступаВ Kubernetes есть несколько типов сервисов для балансировки локального трафика внутри кластера: ClusterIP — закрепляет за приложением стабильный IP и DNS-имя с балансировкой по эндпоинтам (round robin); Headless — отдаёт клиенту IP подов напрямую через DNS; NodePort — открывает порт из диапазона 30000–32767 на всех узлах кластера, позволяя обращаться к приложению извне.
Все они решают задачу внутренней балансировки, но для внешних клиентов (Internet/Intranet) этого недостаточно:ClusterIP и Headless доступны только изнутри кластера. Напрямую снаружи к ним не подключиться: чтобы внешний клиент попал в приложение, придётся дополнительно настраивать пробросы портов, ставить внешние прокси или выдумывать обходные решения. NodePort требует нестандартного порта, а главное: у клиента нет механизма проверить, жив ли узел, на который он стучится.
Отраслевые последствия
Если трафик попал на упавший узел, соединение просто разорвётся — автоматического переключения на другой узел не произойдёт. Для полноценной внешней балансировки нужен выделенный балансировщик L4, который принимает трафик на стандартных портах, распределяет нагрузку и обеспечивает failover. В Kubernetes для таких целей есть сервис типа LoadBalancer.
Как работает LoadBalancer в облачной инфраструктуреСервис LoadBalancer будет работать на разных инфраструктурах по-разному.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





