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" - "Сетевые балансировщики".