AWS - k8s - входной LoadBalancer - PullRequest
       48

AWS - k8s - входной LoadBalancer

0 голосов
/ 28 февраля 2019

Я пытаюсь настроить настройки ниже.

User -> https://xxx.abc.com -> VPC-IP(AWS LB):443 -> POD:8080

Ссылаясь на этот вопрос AWS VPC - k8s - балансировка нагрузки

Если я настроил входоказание услуг;LoadBalancer создан kubernetes?

В настоящее время я ограничиваю доступ к VPC только для определенного IP с AWS Security Group.

Можно ли использовать существующий LoadBalancer и назначить / присоединить его к Ingress Service?Или мне нужно вручную назначать SG для балансировщика нагрузки, если он создан K8S?

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Просто хочу подробнее рассказать о решении @ aurelius 2:

Шаг 1. Сделайте ваш входной сервис с типом NodePort, и он получит порт типа Node: 34567 на всех узлах вашего кластера.

Шаг 2. Настройте существующий балансировщик нагрузки для маршрутизации на эти порты в качестве бэкэнда.

AWS existing load-balancer => Workder-Node1:34567 => Ingress-service => xxx
                           => Workder-Node2:34567 => Ingress-service => xxx
                           => Workder-Node3:34567 => Ingress-service => xxx
0 голосов
/ 01 марта 2019

Извините, но ваш вопрос кажется неясным или немного запутанным = надеюсь, я не упустил суть.

Для достижения этого сценария: User -> https://xxx.abc.com -> VPC-IP(AWS LB):443 -> POD:8080

Вам нужно следовать обычномунастроить для настройки входного и входного контроллера и просто добавить хост (ваш URL) в ingress.yaml.Вы не сможете достичь его, пока не купите и не подключите свой домен к AWS.Но вы можете проверить, работает ли установка следующим образом:

curl -v -H "HOST:host_from_config" loadbalanceraddress.com

Если я настроил службу доступа;LoadBalancer создан Kubernetes?

Да.

Когда для типа службы установлено значение LoadBalancer, Kubernetes предоставляет функциональность, эквивалентную типу pod для кластеров в кластере, и расширяет ее, программируя балансировщик нагрузки (внешний по отношению к Kubernetes) с записями для модулей Kubernetes.Контроллер службы Kubernetes автоматизирует создание внешнего балансировщика нагрузки, проверки работоспособности (при необходимости), правил брандмауэра (при необходимости) и извлекает внешний IP-адрес, выделенный провайдером облака, и заполняет его в объекте службы.

Вы можете ограничить групповые политики безопасности на ходу, просто найдите, к какому SG он принадлежит, и отредактируйте правила по своему желанию или измените, к какому SG принадлежит балансировщик нагрузки, и настройте его.

О сценариииспользуя существующий LB с Ingress - вы можете попытаться добавить свой существующий LoadBalancer (не пробовал этого) в конфигурацию службы, прикрепить правильные экземпляры к LoadBalancer и т. д. Хотя я не пробовал это, похоже, с некоторыми усилиями и правильной конфигурациейэто должно быть возможно.

status: loadBalancer: ingress: - hostname: example-address.eu-central-1.elb.amazonaws.com

Другим способом было бы изменить тип Сервиса на NodePort и указать его для созданного вручную LB для ваших приложений - это можно использовать, когда вам нужно подключить пару сервисоводному ELB.Это было описано здесь .

...