如何在 istio 服务上创建到云 运行 anthos(knative)的入口

How to create ingress on istio service to cloud run anthos (knative)

我在云上工作 运行 Anthos 在 GCP 上,在 GKE 集群上托管。

我遵循这个 qwiklabs 来研究云 运行 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 ingress的资源文档,qwiklab的例子也用到了。
它是关于 VirtualSerivce 并且看起来我在构建这个代理之前有一个 Istio Ingress
这是解决问题的正确方法吗?

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

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

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 控制器说“是的,我来自那里”的骗局。如果你真的来自那里(你自己的域名)就不用作弊了!