我可以创建一个流量策略来路由在不同 kubernetes 命名空间中运行的服务之间的流量吗?
目前,我的测试服务位于staging
命名空间。另一方面,我在生产中的服务在production
命名空间上。
我想平衡位于staging
命名空间和production
命名空间中的服务之间的流量。所以,10% 到staging:service
90% 到production:service
.
到目前为止,我已经能够创建一个虚拟服务和一个目标规则,但是这两个服务都在同一个命名空间内运行。
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
creationTimestamp: null
name: recommendation
namespace: istio-project
spec:
host: recommendation
subsets:
- labels:
version: v1
name: version-v1
- labels:
version: v2
name: version-v2
还有一个VirtualService
:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
creationTimestamp: null
name: recommendation
namespace: istio-project
spec:
hosts:
- recommendation
http:
- route:
- destination:
host: recommendation
subset: version-v1
weight: 75
- destination:
host: recommendation
subset: version-v2
weight: 25
此配置在命名空间内运行的两个服务之间是平衡的istio-project
。
有任何想法吗?
编辑
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
creationTimestamp: null
name: recommendation
namespace: istio-project
spec:
hosts:
- recommendation
http:
- route:
- destination:
host: recommendation
weight: 75
- destination:
host: recommendation.istio-project-two.svc.cluster.local
weight: 25
---