Kubernetes - Как получить доступ к сервису с веб-сервера в пакете с запросом на отдых - PullRequest
0 голосов
/ 20 ноября 2018

Я хочу использовать Kubernetes DNS для рекветов от модулей.Все в моем кластере Kubernetes.

Я хотел бы использовать запрос HTTP из веб-приложения для вызова другого веб-приложения

Например, я хотел бы вызвать ProductWebApp из DashboardWebApp

Я нашел kubernetes rest api

➜ ~ kubectl exec -it dashboard-57f598dd76-54s2x - / bin / bash

➜ ~ curl -X GET https://4B3449144A41F5488D670E69D41222D.sk1.us -east-1.eks.amazonaws.com/api/v1/namespaces/staging/services/product-app/proxy/api/product/5bf42b2ca5fc050616640dc6 {"kind": "Status", "apiVersion": "v1","metadata": {

}, "status": "Failure", "message": "services \" product-app \ "запрещено: пользователь \" system: anonymous \ "не может получить службы / проксив пространстве имен \ "staging \" "," reason ":" Forbidden "," details ": {" name ":" product-app "," kind ":" services "}," code ": 403}%

Я не понимаю, почему это блок

Я также нашел этот URL
➜ ~ curl -XGET product-app.staging.svc.cluster.local / api / product / 5bf42b2ca5fc050616640dc6

Но этотакже не работает

Так какой же хороший способ совершить звонок из модуля в службу?

1 Ответ

0 голосов
/ 20 ноября 2018

Когда оба ProductWebApp и DashboardWebApp работают на одном и том же Kubernetes кластере:

Определите службу, как описано здесь для приложениячто вы хотите позвонить (ProductWebApp), используя услугу type: ClusterIP;настройте вызывающее приложение (DashboardWebApp) с именем службы в качестве URI для вызова.

Например, если предположить, что ProductWebApp находится в пространстве имен с именем staging, определите службу с именем product-app для развертывания ProductWebApp, а затемнастройте DashboardWebApp для вызова ProductWebApp по этому URI:

http://product-app.staging.svc.cluster.local/end/point/as/needed

Замените http на https, если это требуется конечной точке ProductWebApp.Обратите внимание, что имя службы может совпадать с именем развертывания, для которого предназначена служба.

Это работает, когда в кластере Kubernetes запущена служба DNS (а в большинстве кластеров это делается) - см. ссылка и, в частности, записи раздел.

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