无法在istio VirtualService中使用主机`* -pim.webapi.com`和`pim.webapi.com`

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

我想为*-pim.webapi.compim.webapi.com配置路线策略。将yaml应用于k8s时,它表示两个主机是重复的。但我不认为它们是重复的,因为*-pim.webapi.com无法匹配pim.webapi.com。这是istio或我的错误的错误吗?

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个回答
2
投票

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

我会尝试使用一个主机*pim.webapi.com,看看是否有效。我不确定它会不会因为我认为通配符只能用于域名最左边组件的全部值,即*.webapi.com,而不是*pim.webapi.com

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