GKE可扩展服务代理需要访问哪些URL
我在谷歌Kubenetes引擎中运行Istio。我的应用程序使用gRPC,并有一个可扩展的服务代理容器来链接到Google Enpoints服务 默认情况下,GKE上的Istio会阻止所有出口请求,这会破坏ESP容器,因为它需要从Istio网格外部请求一些数据 ESP的日志告诉我,它正试图访问IP 169.254.169.254以获取一些元数据,所以我从Istio打开了一个出口通道,让它发生,这很好 但是,ESP尝试的下一件事是“从卷展服务获取服务配置ID”。这再次被阻止,但这次日志错误没有告诉我它试图访问的URL,只有路径。所以我不知道该打开什么url进行出口 这是日志条目: 警告:重试(重试(总计=2,连接=无,读取=无,重定向=无, 状态=无)连接被“ProtocolError”(“连接”)中断后 已中止。“,错误(104,“由对等方重置连接”): /v1/services/rev79.endpoints.rev79-232812.cloud.goog/rollouts?filter=status=SUCCESSGKE可扩展服务代理需要访问哪些URL,url,google-kubernetes-engine,grpc,istio,Url,Google Kubernetes Engine,Grpc,Istio,我在谷歌Kubenetes引擎中运行Istio。我的应用程序使用gRPC,并有一个可扩展的服务代理容器来链接到Google Enpoints服务 默认情况下,GKE上的Istio会阻止所有出口请求,这会破坏ESP容器,因为它需要从Istio网格外部请求一些数据 ESP的日志告诉我,它正试图访问IP 169.254.169.254以获取一些元数据,所以我从Istio打开了一个出口通道,让它发生,这很好 但是,ESP尝试的下一件事是“从卷展服务获取服务配置ID”。这再次被阻止,但这次日志错误没有告诉
那么,有人能告诉我ESP需要访问哪些URL才能工作吗?通过用一些关键字搜索路径的某些部分,我最终偶然发现了我想要的内容。 这看起来像ESP试图访问的内容:
事实上,打开到该主机的路由可以使ESP启动并运行。对于其他遇到此问题的人 ESP需要访问两个独立的端点,才能在不崩溃的情况下运行。是的
- servicemanagement.googleapis.com(HTTPS)
- 169.254.269.254(HTTP)
- servicecontrol.googleapis.com(HTTPS)
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: endpoints-cert
spec:
hosts:
- metadata.google # this field does not matter
addresses:
- 169.254.169.254/32
ports:
- number: 80
name: http
protocol: HTTP
resolution: NONE
location: MESH_EXTERNAL
---
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: endpoints-metadata
spec:
hosts:
- "servicemanagement.googleapis.com"
- "servicecontrol.googleapis.com"
ports:
- number: 80 # may not be necessary
name: http
protocol: HTTP
- number: 443
name: https
protocol: HTTPS
resolution: DNS
location: MESH_EXTERNAL
如果您使用的是出口网关,则需要对这两个网关进行额外配置
这些端点