Невозможно вызвать службу knative GCP Cloud Run из другой службы Kubernetes, работающей в том же кластере.
У меня есть кластер GKE kubernetes с включенным Cloud Run for Anthos (также работает Anthos Service Mesh с Istio), что позволяет мне размещать службы контейнеров GCP Cloud вместе с другими службами Kubernetes в том же кластере.
Я пытаюсь получить доступ к службе аутентификации (работающей в Knative Cloud Run for Anthos), которая находится в том же пространстве имен, что и служба Webapi (работает как служба Kubernetes), но не может разрешить службу аутентификации. Я предполагал, что он сможет вызывать реальную службу через внешнее имя, предоставленное Cloud Run/knative, но, похоже, это не работает. И я вызываю службу в своем коде через имя порта по умолчанию.
Я новичок в мире Kubernetes/Istio/Knative и не совсем понимаю разрешение DNS в этом пространстве, поэтому любая информация по этому вопросу будет очень полезна.
>> kubectl describe svc web-api -n backend
Name: web-api
Namespace: backend
Labels: app=web-api
service=web-api
Annotations: cloud.google.com/neg: {"ingress":true}
Selector: service=web-api
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.64.5.37
IPs: 10.64.5.37
Port: http 51080/TCP
TargetPort: 80/TCP
Endpoints: 10.60.0.243:80
Session Affinity: None
Events: <none>
>> kubectl describe svc auth-service -n backend
Name: auth-service
Namespace: backend
Labels: serving.knative.dev/route=auth-service
serving.knative.dev/service=auth-service
Annotations: client.knative.dev/user-image:
gcr.io/project/team-
app/auth@sha256:7be19cee11b277dd241fd386d4bb83a94d7ab2ed9c9
cloud.google.com/neg: {"ingress":true}
run.googleapis.com/client-name: cloud-console
serving.knative.dev/creator: user@company.com
serving.knative.dev/lastModifier: user@company.com
Selector: <none>
Type: ExternalName
IP Families: <none>
IP:
IPs: <none>
External Name: knative-local-gateway.istio-system.svc.cluster.local
Port: http2 80/TCP
TargetPort: 80/TCP
Endpoints: <none>
Session Affinity: None
Events: <none>