如何在Knative中将群集本地请求从一项服务发送到另一项服务?

时间:2019-10-03 15:52:00

标签: knative

我已按照本指南https://knative.dev/docs/serving/cluster-local-route/进行本地服务群集。

我试图使用curl命令从群集内的另一个服务访问该服务,但我总是 get无法解析主机错误。

我尝试使用 curl helloworld-default.svc.cluster curl -H“发出请求:主机:helloworld-go.default.svc .cluster ” http:// 命令。

我缺少什么? 我是否需要对Istio virtualService进行任何配置才能使其正常工作? (我正在GKE内运行Knative)

1 个答案:

答案 0 :(得分:1)

我认为您缺少.local,它应该可以工作。

curl -H "Host: helloworld-go.default.svc.cluster.local" http://< cluster_ip > 

但是,当您从集群中发出请求时,您应该能够完全删除ClusterIP。基本上执行:

curl helloworld-go.default.svc.cluster.local

Kubernetes DNS解析机制将解析DNS helloworld-go.default.svc.cluster.local


仅在入口流量(公共流量进入私有流量)中指定HOST标头很重要。

详细信息:Knative服务创建了一个路由CRD,它创建了一个ClusterIngress,它将被控制器(默认为istio-network)拾取以配置入口网关(在istio的情况下,使用另一个CRD VirtualService)。 入口网关路由基于HOST标头。