×

2.4. Публикация приложения во внешнюю сеть

 
Развёртывание приложений в Kubernetes-кластере — это лишь часть задачи. Чтобы сделать их доступным из публичных сетей, необходимо настроить механизм публикации. Один из способов — использование балансировщика нагрузки (Load Balancer), создаваемого в разделе управления сетевыми параметрами кластера.
 
Развёртывание приложений в Kubernetes-кластере — это лишь часть задачи. Чтобы сделать их доступным из публичных сетей, необходимо настроить механизм публикации. Один из способов — использование балансировщика нагрузки (Load Balancer), создаваемого в разделе управления сетевыми параметрами кластера.
 
Балансировщик нагрузки принимает трафик, поступающий на внешний IP-адрес, выделенный для сервиса Kubernetes Flex, и равномерно распределяет входящие запросы между узлами, на которых работают поды приложений. Это упрощает управление трафиком и повышает отказоустойчивость.
 
В этой статье мы рассмотрим, как опубликовать приложение в кластере Kubernetes Flex во внешнюю сеть, используя встроенные механизмы балансировки нагрузки. В этом примере предполагается, что приложение уже развёрнуто в подах на всех рабочих узлах, принимает запросы на порт 443 каждого из рабочих узлов и умеет само обрабатывать и принимать HTTPS трафик.
 
Итак, кластер создан и мы видим его в списке кластеров ("Панель управления" - "Кластеры Kubernetes" - "Kubernetes Flex").
 
  • Нажимаем на три точки для перехода к панели управления кластером и переходим в раздел сетевых настроек кластера.
     
     
    2. Добавляем правило балансировщика, которое будет принимать трафик на 443 сетевом порту внешнего IP адреса и передавать его на 443 порт всех рабочих узлов. При этом автоматически будет создано правило проверки доступности узлов методом отправки TCP запросов на указанный порт, в случае отсутствия ответа, трафик на узел не передаётся.
     
    Обратите внимание - в списке правил уже есть системное правило балансировки на группу мастер узлов для управления кластером через kube-api, удалить его нельзя, изменять следует только, если вы точно знаете что делаете.
     
    После применения конфигурации приложение на 443 сетевом порту будет опубликовано на внешнем IP кластера с балансировкой трафика по всем доступным рабочим узлам группы. Появится новый балансировщик (новое правило балансировки), который будет принимать входящие запросы поступающие на внешний IP-адрес, выделенный для кластер Kubernetes Flex и распределять их между рабочими узлами кластера, где далее он будет приниматься и обрабатываться уже сервисами Kubernetes. В случае выхода из строя одного из рабочих узлов или экземпляра приложения на нём, балансировщик это обнаружит с помощью проверки доступности и исключит этот узел из балансировки, продолжая доставлять трафик только на рабочий экземпляр.
     
    Более тонкую настройку балансировщика, можно найти в разделе "Elastic Cloud KVM" - "Сетевые балансировщики".