内部网格通信正在忽略虚拟服务中的设置

时间:2018-11-19 23:57:35

标签: kubernetes istio

我正在尝试在bookinfo示例中注入HTTP status 500错误。

当流量来自网关时,我设法注入了500个错误状态:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo
  namespace: default
spec:
  gateways:
  - bookinfo-gateway
  hosts:
  - '*'
  http:
  - fault:
       abort:
          httpStatus: 500
          percent: 100
    match:
    - uri:
        prefix: /api/v1/products
    route:
    - destination:
        host: productpage
        port:
          number: 9080

示例:

$ curl $(minikube ip):30890/api/v1/products
fault filter abort

但是,对于来自其他Pod的流量,我无法实现这一目标:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo
  namespace: default
spec:
  gateways:
  - mesh
  hosts:
  - productpage
  http:
  - fault:
       abort:
          httpStatus: 500
          percent: 100
    match:
    - uri:
        prefix: /api/v1/products
    route:
    - destination:
        host: productpage
        port:
          number: 9080

示例:

# jump into a random pod
$ kubectl exec -ti details-v1-dasa231 -- bash

root@details $ curl productpage:9080/api/v1/products
[{"descriptionHtml": ... <- actual product list, I expect a http 500
  • 我尝试将FQDN用于主机productpage.svc.default.cluster.local,但行为相同。
  • 我已与istioctl proxy-status检查了代理状态,一切都已同步。

  • 我测试了是否将istio-proxy注入豆荚中,它是:

豆荚:

NAME                             READY   STATUS    RESTARTS   AGE
details-v1-6764bbc7f7-bm9zq      2/2     Running   0          4h
productpage-v1-54b8b9f55-72hfb   2/2     Running   0          4h
ratings-v1-7bc85949-cfpj2        2/2     Running   0          4h
reviews-v1-fdbf674bb-5sk5x       2/2     Running   0          4h
reviews-v2-5bdc5877d6-cb86k      2/2     Running   0          4h
reviews-v3-dd846cc78-lzb5t       2/2     Running   0          4h

我完全被卡住了,不确定接下来要检查什么。我觉得我缺少一些非常明显的东西。

我非常感谢您对此主题提供任何帮助。

2 个答案:

答案 0 :(得分:1)

我的问题的根本原因是我的minicloud集群中的includeIPRanges设置不正确。我设置了10.0.0.1/24 CIDR,但是某些服务正在监听10.35.x.x。

答案 1 :(得分:0)

这应该可行,并且在我尝试时也可以。我的猜测是您为productpage服务定义了其他冲突的路由规则。