gpt4 book ai didi

kubernetes - 从集群内部使用 Istio VirtualService

转载 作者:行者123 更新时间:2023-12-04 03:43:01 25 4
gpt4 key购买 nike

我不能使用 Kubernetes 服务,因为我需要 retry虚拟服务功能。如何从 Pod 访问 VirtualService?
如果我通过网关使用 VirtualService:Pod -> Kubernetes service -> Istio Gateway -> Virtual service然后出于某种原因locality平衡功能不起作用。

最佳答案

我猜你有这样的事情:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: review-external
spec:
hosts:
- "*.example.com"
gateways:
- mygateway
http:
route:
- destination:
host: reviews.prod.svc.cluster.local
subset: v2
weight: 25
在这种情况下,您可以使用 gateways VirtualService 中的列表反对。
对于文档:

When this field is omitted, the default gateway (mesh) will be used, which would apply the rule to all sidecars in the mesh. If a list of gateway names is provided, the rules will apply only to the gateways. To apply the rules to both gateways and sidecars, specify mesh as one of the gateway names.


来源:
https://istio.io/latest/zh/docs/reference/config/networking/virtual-service/#VirtualService
所以你在这里有两个选择。您可以提及 mesh作为网关之一:
[...]
gateways:
- mygateway
- mesh
http:
[...]
或者您可以创建第二个 VirtualService没有 gateways列表所以它默认为 mesh (或者如果你想声明性地只提到网格作为网关)。 spec.hosts字段必须包含主机,即 destination.host 中提到的主机.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: review-mesh-internal
spec:
hosts:
- "reviews.prod.svc.cluster.local" # must be the kubernetes service host as below
gateways:
- mesh #optional since it's the default
http:
route:
- destination:
host: reviews.prod.svc.cluster.local
subset: v1
weight: 100
这带来了优势,您可以从集群外部路由流量,而不是从集群内部路由流量。以维护为例,用户流量不应到达特定 pod,但来自集群内部的流量仍应能够到达。

关于kubernetes - 从集群内部使用 Istio VirtualService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65626962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com