Как получить доступ к службе на узле kubernetes из другого узла в том же кластере?

99
12

Описание моего сервиса:

kubernetes describe service app-checklot --namespace=app-test-gl

Name: app-checklot
Namespace: app-test-gl
Labels: app=app-checklot
chart=app-checklot-0.1.0
heritage=Tiller
release=chkl
Annotations: <none>
Selector: app=app-checklot,release=chkl
Type: ClusterIP
IP: 10.99.252.76
Port: https 11080/TCP
TargetPort: 11080/TCP
Endpoints: 85.101.213.102:11080,85.101.213.103:11080
Session Affinity: None
Events: <none>

Я могу получить доступ к стручкам отдельно, используя отдельные ip:

http://85.101.213.102:11080/service
http://85.101.213.103:11080/service

Также услуга, использующая IP (это нужно настроить с другого узла с помощью URL):

http://10.99.252.76:11080/service

Я хотел бы получить доступ к службе (app-checklot), используя имя службы в URL - так что мне не нужно всегда обновлять URL. Это возможно? Если так, то как?

спросил(а) 2021-01-25T19:31:05+03:00 4 месяца, 2 недели назад
1
Решение
98

Из документации:

Например, если у вас есть Service именем " my-service " в Namespace Kubernetes с именем " my-ns ", создается запись DNS для " my-service.my-ns ". Pods которые существуют в пространстве имен " my-ns ", должны быть в состоянии найти его, просто выполнив поиск имени для " my-service ". Pods которые существуют в других Namespaces должны квалифицировать имя как " my-service.my-ns ". Результатом этих поисков имен является IP-адрес кластера.

Другая служба, развернутая в том же пространстве имен, сможет вызывать http://app-checklot/service.

ответил(а) 2021-01-25T19:31:05+03:00 4 месяца, 2 недели назад
45

Да, внутри кластера ваш сервис должен быть доступен по адресу:

http://app-checklot.app-test-gl:11080/service

ответил(а) 2021-01-25T19:31:05+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема