Невозможно создать сервис Kubernetes с AWS Elastic LoadBalancer - PullRequest
0 голосов
/ 01 февраля 2019

Я создал балансировщик нагрузки приложения aws myservices и получил следующее DNS-имя, указанное в консоли aws - internal-myservices-987070943.us-east-1.elb.amazonaws.com

У меня также есть целевые группы.и показанный ниже в разделе «Описание» - «Имя как myservices-LB», «Протокол как HTTPS», «Порт как 443», «Тип цели как экземпляр», «Балансировщик нагрузки как myservices» На вкладке «Цели» я вижу зарегистрированные цели, показывающие мой идентификатор экземпляра как i-02dbf9b3a7d9163e7 с портом как 443 идругие подробности ... Этот идентификатор экземпляра является моим экземпляром ec2, который я настроил в качестве главного узла моего кластера kubernetes.

На самом деле и мой loadbalancer, и экземпляры EC2 находятся в одном и том же VPC.

Из моеголокальный компьютер теперь я могу получить доступ к этому URL https://internal -myservices-987070943.us-east-1.elb.amazonaws.com То, что я сделал, - 1) Сбой проверки работоспособности в порту HTTPS 443и 2) Установленный веб-сервер nginx в моем экземпляре EC2.Поэтому установка nginx и открытие порта SSL автоматически решают проблему проверки работоспособности, и я могу просматривать внутренний URL-адрес LB с помощью https.

Но все же моя основная проблема создания loadbalancer с использованием kubernetes svc не решена :(показывает <pending> для EXTERNAL_IP. Я сомневаюсь, что и экземпляр EC2, и LB находятся в одном и том же VPC, почему traceroute internal-myservices-987070943.us-east-1.elb.amazonaws.com не отслеживает его? Я получаю все ** * для всех 30 прыжков. Но с моего локального компьютера я могу успешно отследить его. Так вот почему он не создает никакого внешнего ip?

Я сделал все, что нужно для интеграции облака AWS сkubernetes ..

1) Мое имя хоста как главного, так и рабочего узлов в кластере kube совпадает с DNS-именами экземпляров EC2.

2) Добавлены теги для экземпляров EC2 и в службе kubelet

3) Добавлены теги cloud-config для POD в kube-api и kube-controller-manager

4) Я вижу упругую балансировку нагрузки: * Действие хаving Разрешить мою политику в AWS для моей роли.

Также мне интересно, как это получается, когда nginx, установленный в моем экземпляре EC2, может получить доступ к моему LoadBalancer, но Traceroute не может получить к нему доступ.

Можно ли получить прямой доступ к моему сервису с помощью Loadbalancer, который я создал вручную через консоль AWS?Может быть, с NodePort или вход или что-то .. ??

Так что я застрял с этим :( Пожалуйста, помогите ..

1 Ответ

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

Мне пришлось установить прокси как переменную env внутри yaml контроллера kube.Кроме того, чтобы это работало, пришлось установить IP-адрес метаданных ec2 в переменной no_proxy.

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