如何从启用了 istio sidecar 注入的容器调用集群本地 knative svc?

问题描述

如您所知,通常可以使用其 DNS 内部触发 knative svc(ksvc),例如

svc-name.namespace.svc.cluster.local

我正在评估 Istio 在 OCP 上的使用情况。因此,我正在测试的所有 ksvc 都启用了 istio sidecar 注入。就我而言,在同一命名空间下有两个 ksvc A 和 B。我会使用来自 ksvc B 的内部 DNS 调用 ksvc A。

sidecar.istio.io/inject: 'true'

但是,一旦在 ksvc B 上启用 istio,使用内部 DNS 调用将不再起作用(返回 404)。我使用 wget 进行了一些调试,它会返回

Connecting to internal-ksvc.stic-istio-demo-p4d.svc.cluster.local (172.30.131.80:80)
wget: server returned error: HTTP/1.1 404 Not Found

使用 nslookup 检查 ip(172.30.131.80) 它显示它将请求转发给 Kourier 来处理(这是有道理的):

Name:      172.30.131.80
Address 1: 172.30.131.80 kourier-internal.knative-serving-ingress.svc.cluster.local

但是,必须在 Kourier 上丢失或弄乱了某些配置,因此请求不会一直转发到 ksvc A,因此在我的情况下返回 404。

那么问题是还需要处理什么才能在内部 DNS 仍然有效的情况下启用 istio?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)