【发布时间】:2020-12-24 17:07:05
【问题描述】:
跨命名空间服务。我试图让命名空间 nsA 中的 pod 调用命名空间 nsB 中的 pod。但我想避免让开发人员担心最终服务的位置,所以只需在调用中使用主机名,我将使用 Istio 重定向它。 我的假设是在代码中我只是调用一个主机名,比如http://podB:9080,现在我会创建一个这样的虚拟服务来将它重定向到正确的命名空间
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: podB
spec:
hosts:
- podB
http:
- route:
- destination:
host: podB.nsB.svc.cluster.local
subset: v1
但这不起作用,为此我必须在命名空间 nsA 中创建一个名为 podB 的服务。它可以是没有任何 Endpoint 的“空”服务,但该服务必须存在 Istio Proxy 才能处理请求,如果它不存在,则 virtualService 不会运行。
对这种情况有什么建议吗?
【问题讨论】:
-
您不需要 istio 来执行此操作。创建一个没有选择器且端点对象指向第二个服务的无头服务。
标签: istio