Kubernetes 当存在两个仅在名称上不同的Istio VirtualService时,如何选择应使用哪个VirtualService?
我有VirtualService和网关对向外部公开我的服务。VirtualService规范如下所示Kubernetes 当存在两个仅在名称上不同的Istio VirtualService时,如何选择应使用哪个VirtualService?,kubernetes,istio,Kubernetes,Istio,我有VirtualService和网关对向外部公开我的服务。VirtualService规范如下所示 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: {{ .Values.domain }}-grpc spec: hosts: - {{ .Release.Namespace }}.{{ .Values.env }}.{{ .Values.corporation }}.cloud
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: {{ .Values.domain }}-grpc
spec:
hosts:
- {{ .Release.Namespace }}.{{ .Values.env }}.{{ .Values.corporation }}.cloud
gateways:
- {{ .Values.domain }}
http:
- route:
- destination:
host: {{ .Values.domain }}
port:
number: 6565
但是,当我创建另一个与上面的VirtualService相同但名称不同的VirtualService时,新的VirtualService无法工作
我尝试实现的场景是,当创建新的VirtualService时,实际的流量将流经新的VirtualService。当新的VirtualService被删除时,实际流量应该流经原始VirtualService
是否有任何选项或方法来实现此场景?VirtualService定义了如何将流量从主机路由到您的服务的规则。从这个意义上讲,流量不会“流经”虚拟服务。所以,如果它们是相同的,那么使用哪一个应该没有任何区别。我的想法是,您不应该在同一个主机上有两个虚拟服务。如果这样做,将在路由中创建冲突 您可以参考分析文档了解更多信息:
如果两种虚拟服务都是相同的,我真的不明白这样做的目的。Istio会将流量发送到已配置的群集,这是您创建的第一个virtualserver配置。如果相同,您如何知道它不工作?