我的 istio 目标规则不起作用,在 kiali 中出现以下错误
VirtualService and destination rule for echo service:
我的召唤echo-svc:8080
and echo-svc:8080/v1
从我的另一个虚拟服务,我无法在特定版本中进行路由。
从另一个虚拟服务发出请求时:echo-svc:8080/v1
or echo-svc:8080
,我收到了两个子集的响应。
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: echo-vsvc
spec:
hosts:
- "echo-svc.default.svc.cluster.local"
http:
- match:
- uri:
prefix: "/v1"
route:
- destination:
host: echo-svc.default.svc.cluster.local
subset: v1
- route:
- destination:
host: echo-svc.default.svc.cluster.local
subset: v2
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: echo-destination
spec:
host: echo-svc.default.svc.cluster.local
subsets:
- name: v1
labels:
version: v0.1
- name: v2
labels:
version: v0.2
如果我将回显服务附加到网关,然后向v1
通过 istio-ingress 端点,我的所有请求都路由到所需的 k8s 服务,但如果它是内部的(echo 服务未附加到网关),特使不会将请求路由到所需的 k8s 服务。
Update:
$ > k get pods --show-labels
NAME READY STATUS RESTARTS AGE LABELS
echo-deploy-v1-bdf758994-8f54b 2/2 Running 0 2m56s app=echo-app,pod-template-hash=bdf758994,version=v0.1
echo-deploy-v2-68bb64684d-9gg2r 2/2 Running 0 2m51s app=echo-app,pod-template-hash=68bb64684d,version=v0.2
frontend-v2-569c89dbd8-wfnc4 2/2 Running 2 12h app=frontend,pod-template-hash=569c89dbd8,version=v2