如何在Instio服务上创建Ingress到Cloud Run AnthosKnative

问题描述

我正在GCP上开发Cloud Run Anthos,并在GKE集群上托管。

我跟随这个qwiklabs研究Cloud Run Anthos,

https://www.qwiklabs.com/focuses/5147?catalog_rank=%7B%22rank%22%3A6%2C%22num_filters%22%3A0%2C%22has_search%22%3Atrue%7D&parent=catalog&search_id=7054914

动手实验中的示例。他们使用以下命令检查服务是否正常工作。

curl -H Host : <URL> <IP_CLUSTER>

我不知道所使用的现实。没有人在每项要求正常运行的请求中添加 Host
我的问题是,有什么可能解决这个问题?我只想通过浏览器或任何应用程序使用调用请求,但不确定是否可以?

我到达了有关Istio入口的资源文档,qwiklab的示例也使用了它。
有关 VirtualSerivce 的信息,在构建此代理之前,我好像有一个 Istio Ingress
这是解决问题的正确方法吗?

https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRewrite

解决方法

您可以在knative名称空间中更改config-domain配置映射。您可以看到这样的配置

kubectl describe configmap config-domain --namespace knative-serving

然后您可以像这样更新它

  • 在文件config-domain.yaml中创建配置文件(例如)
apiVersion: v1
kind: ConfigMap
metadata:
  name: config-domain
  namespace: knative-serving
data:
  gblaquiere.dev: ""
  • 应用配置
kubectl apply -f config-domain.yaml

more detail here

使用新域名,将您的DNS注册商配置为将您的域名与负载均衡器的外部IP匹配,您的网站将在每个请求中显示正确的主机。

curl -H Host ...是欺骗Istio控制器并对其说“是的,我来自那里”的作弊手段。如果您确实来自那里(您自己的域名),则无需作弊!