Дополнительная информация по AWS EKS
Содержание
Терминология
Важные замечания
При создании балансировщиков нагрузки рекомендуется вручную настраивать service annotations, чтобы обеспечить корректное использование платформенным балансировщиком нагрузки aws-lb. Если соответствующие service annotations настроены неправильно, платформа по умолчанию будет использовать eks-clb, у которого есть проблемы, связанные с UDP, что может привести к непредвиденным ситуациям.
Использование aws-lb в EKS для предоставления внешнего доступа контейнерным сетевым балансировщикам нагрузки
Инструкция по настройке service annotations
-
В соответствующем кластере выполните следующую команду с помощью kubectl, чтобы найти все Pod в namespace kube-system с именами, содержащими "aws-load":
-
Создайте балансировщик нагрузки; подробные шаги создания и параметры смотрите в разделе создания Load Balancer в AWS EKS Service Annotation Instructions.
-
Если команда не возвращает связанных Pod, значит в кластере не установлен AWS Load Balancer Controller. Service annotations не требуются; создавайте балансировщик нагрузки напрямую.
-
Если команда возвращает связанные Pod, значит в кластере установлен AWS Load Balancer Controller. При создании балансировщика нагрузки в соответствующем кластере добавьте следующие service annotations:
-
service.beta.kubernetes.io/aws-load-balancer-type: external //Required -
service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip //Required -
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing // Optional. Добавьте эту аннотацию, если требуется поддержка публичной сети.
-
-
Метод получения адреса доступа
-
При создании контейнерных сетевых балансировщиков нагрузки заполненные service annotations будут установлены на LoadBalancer Service, соответствующий платформенному балансировщику нагрузки.
-
В публичных облаках LoadBalancer Services с соответствующими service annotations будут распознаны облаком и получат назначенные адреса. Платформенный балансировщик нагрузки прочитает этот адрес и установит его в качестве собственного адреса доступа.