我已按照本指南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)
答案 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标头。