Как получить доступ к службе на узле kubernetes с другого узла в том же кластере?
Описание моего сервиса:
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-адрес. Это возможно? Если так, то как?
2 ответа
Из документации:
Например, если у вас есть
Service
называется "мой сервис" в KubernetesNamespace
называется "my-ns", создается запись DNS для "my-service.my-ns".Pods
которые существуют в пространстве имен "my-ns", должны быть в состоянии найти его, просто выполнив поиск по имени для "my-service".Pods
которые существуют в другихNamespaces
должен квалифицировать имя как "my-service.my-ns". Результатом этих поисков имен является IP-адрес кластера.
Другая служба, развернутая в том же пространстве имен, сможет вызывать http://app-checklot/service
,
Да, внутри кластера ваш сервис должен быть доступен по адресу:
http://app-checklot.app-test-gl:11080/service