内部服务的虚拟服务不会导致循环吗?

时间:2021-03-01 09:05:13

标签: kubernetes istio

说到内部服务的虚拟服务(没有网关规范),

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: frontend
spec:
  hosts:
  - nginx.default.svc.cluster.local
  - httpd.default.svc.cluster.local
  http:
  - name: nginx
    match:
    - uri:
        prefix: /nginx
    rewrite:
      uri: /
    route:
    - destination:
        host: nginx.default.svc.cluster.local
        port:
          number: 80
  - name: httpd
    match:
    - uri:
        prefix: /httpd
    rewrite:
      uri: /
    route:
    - destination:
        host: httpd.default.svc.cluster.local
        port:
          number: 80

此虚拟服务根据 URI /nginx 或 /httpd 发送流量,

例如,curl httpd/httpdcurl nginx/httpd 将被发送到 httpd 服务器。序列将是..检查规范中的主机并遵循 URI 匹配。

但是,那之后,当流量发往最终主机时,就不再考虑虚拟服务了吗?

因为 virtualservice 是关于 nginx 和 httpd 服务的,当 virtualservice 的序列结束时,最终目的地与 spec 中的 hosts 相同。

什么时候才考虑虚拟服务?将流量发送到与虚拟服务中的主机相关的主机时的每一刻与否。

0 个答案:

没有答案