Как реализовать связь между Kubernetes POD и POD? - PullRequest
0 голосов
/ 01 марта 2019

Этот вопрос ранее задавался и отвечал на stackoverflow, но поскольку я новичок в K8, я не понимаю ответа.

Предполагая, что у меня есть два контейнера с каждым контейнером в отдельном POD (потому чтоЯ полагаю, что это рекомендуемый подход), я думаю, что мне нужно создать один сервис, чтобы мои два модуля были отделены друг от друга.

  1. Как мой код Java-приложения получает IP-адрес сервиса?
  2. Как мой код Java-приложения получает IP-адреса другого POD / контейнера (из службы)?
  3. Это будет список IP-адресов, поскольку они не имеют состояния и могут быть реплицированы.,Это правильно?
  4. Как выбрать наименее загруженный экземпляр POD для связи?

Спасибо, Зигфрид

Ответы [ 2 ]

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

Как мой код Java-приложения получает IP-адрес службы?

Вам необходимо создать службу, чтобы открыть порт модуля, а затем вам просто нужно использовать имя службыи kube-dns разрешит IP-адрес модуля

Как мой код Java-приложения получает IP-адреса другого POD / контейнера (из службы)?

Да, используя имя службы

Это будет список IP-адресов, поскольку они не имеют состояния и могут быть реплицированы.Это правильно?

Служба будет загружать баланс между всеми модулями, соответствующими селектору, так что это может быть 0, 1 или любое количество модулей

Как мневыбрать наименее загруженный экземпляр POD для связи?

Обычный способ - политика циклического перебора, но есть и другие конкретные политики балансировки https://kubernetes.io/docs/concepts/services-networking/service/#proxy-mode-ipvs

Cheers;)

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

Вам не нужно получать какой-либо IP, вы используете имя службы (DNS).Поэтому, если вы назвали свой сервис "java-service-1" и открыли порт 80, вы можете получить к нему доступ из кластера следующим образом:

http://java -service-1

Если служба находится в другом пространстве имен, вы также должны добавить это (см. https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/)

. Вы также не выбираете наименее загруженный экземпляр самостоятельно, службу можно настроить как LoadBalancer.Kubernetes делает все это для вас (см. https://kubernetes.io/docs/concepts/services-networking/)

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