当 istio ServiceEntry 解析为“DNS”时更新 istio 的路由映射?

问题描述 投票:0回答:1

我正在努力配置 Istio 服务网格,尤其是只能由内部服务访问的域解析。

我的问题是,解析字段设置为“DNS”的 ServiceEntry 何时解析主机字段值并将其应用到 Istio 路由表?

例如,“mine.ops.hm-net”域何时解析为“mine-ops-service”?

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: internal-service-entry
spec:
  hosts:
    - "mine.ops.hm-net"
  ports:
  - name: http
    number: 80
    protocol: HTTP
  location: MESH_INTERNAL
  resolution: DNS
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: mine-ops-vs
  namespace: mine-ops
spec:
    hosts:
    - mine.ops.hm-net
    gateways:
      - mesh
    http:
    - route:
        - destination:
            host: mine-ops-service
            port:
              number: 80

我能想象的可能场景是:

  • 当ServiceEntry首次注册或更新时。
  • 每当需要 DNS 解析时(每当 Pod 请求 Istio 路由表中不存在的新域时)。
  • Istio 有自己的生命周期来更新 DNS 路由表。

我对此很好奇,因为带有通配符主机(例如 *.ops.hm-net)的 ServiceEntry 无法解析。

如果 ServiceEntry 仅在注册时更新 Istio 路由表(第一种情况),那么这是有意义的,因为无法通过 *.opt.hm-net 知道端点地址。

我已经多次阅读了 Istio 的官方 DNS proxyingServiceEntry 文档,但没有提及我的问题。

感谢您的阅读!

kubernetes dns istio
1个回答
0
投票

我在 istio 社区问了同样的问题,并被告知第一种情况就是答案(即使 ttl 过期也要更新路由表)。

© www.soinside.com 2019 - 2024. All rights reserved.