【问题标题】:Failed to use hosts `*-pim.webapi.com` and `pim.webapi.com` in istio VirtualService在 istio VirtualService 中使用主机 `*-pim.webapi.com` 和 `pim.webapi.com` 失败
【发布时间】:2019-02-15 12:09:09
【问题描述】:

我想为*-pim.webapi.compim.webapi.com 配置路由策略。将 yaml 应用到 k8s 时,它说两个主机是重复的。但我不认为它们是重复的,因为*-pim.webapi.com 不能匹配pim.webapi.com。这是 istio 的 bug 还是我的错误?

VirtualService yaml 是:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: public-ingress
  namespace: netops
spec:
  hosts:
  - "*-pim.webapi.com" 
  - "pim.webapi.com" 
  gateways:
  - public-ingress
  http:
  - route:
    - destination:
        host: pim.default.svc.cluster.local

错误信息是

admission webhook "pilot.validation.istio.io" denied the request: configuration is invalid: duplicate hosts in virtual service: *-pim.webapi.com & pim.webapi.com

此错误消息的源代码在此处https://github.com/istio/istio/blob/master/pilot/pkg/model/validation.go#L1602。但是对于理解和解决我的问题没有任何帮助。

【问题讨论】:

    标签: kubernetes istio


    【解决方案1】:

    这看起来像是 Istio 中的一个错误。您引用的代码调用this function 来确定主机是否匹配,并且在您的情况下它显然做错了。

    我会尝试使用一台主机*pim.webapi.com,看看是否可行。我不确定它会不会,因为我认为通配符只能用于域名最左边部分的完整值,即*.webapi.com,而不是*pim.webapi.com

    【讨论】:

    猜你喜欢
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    相关资源
    最近更新 更多