首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >故障注入-在Istio中不工作的延迟和中止

故障注入-在Istio中不工作的延迟和中止
EN

Stack Overflow用户
提问于 2019-08-08 09:18:51
回答 1查看 368关注 0票数 0

我已经将Istio配置为延迟/中止http-流量,使用30秒的目录服务,但是当我刷新页面时,目录显示没有任何延迟。

这是谷歌GKE的一个设置。我正在使用sock商店演示来测试Istio功能的几个方面。

我目前的设置如下:这是我的yaml文件,包含所有服务和部署(缩写为目录和前端配置,它使用目录):

代码语言:javascript
复制
#################################################
# Catalogue-db
#################################################
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: catalogue-db-v1
  labels:
    name: catalogue-db
    version: v1
  namespace: sock-shop
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: catalogue-db
        version: v1
    spec:
      containers:
      - name: catalogue-db
        image: weaveworksdemos/catalogue-db:0.3.0
        env:
          - name: MYSQL_ROOT_PASSWORD
            value: fake_password
          - name: MYSQL_DATABASE
            value: socksdb
        ports:
        - name: mysql
          containerPort: 3306
      nodeSelector:
        beta.kubernetes.io/os: linux
---
apiVersion: v1
kind: Service
metadata:
  name: catalogue-db
  labels:
    name: catalogue-db
  namespace: sock-shop
spec:
  ports:
    # the port that this service should serve on
  - port: 3306
    targetPort: 3306
  selector:
    name: catalogue-db
---
######################################################
#Catalogue
######################################################
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: catalogue
  labels:
    name: catalogue
    version: v1
  namespace: sock-shop
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: catalogue
        version: v1
    spec:
      containers:
      - name: catalogue
        image: weaveworksdemos/catalogue:0.3.5
        ports:
        - containerPort: 80
        securityContext:
          runAsNonRoot: true
          runAsUser: 10001
          capabilities:
            drop:
              - all
            add:
              - NET_BIND_SERVICE
          readOnlyRootFilesystem: true
      nodeSelector:
        beta.kubernetes.io/os: linux
---
apiVersion: v1
kind: Service
metadata:
  name: catalogue
  labels:
    name: catalogue
  namespace: sock-shop
spec:
  ports:
    # the port that this service should serve on
  - port: 80
    name: http-catalogue
    targetPort: 80
  selector:
    name: catalogue
---
##############################################
# Front-End
##############################################
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: front-end-v1
  labels:
     name: front-end
     version: v1
  namespace: sock-shop
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: front-end
        version: v1
    spec:
      containers:
      - name: front-end
        image: weaveworksdemos/front-end:0.3.12
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
        ports:
        - containerPort: 8079
        securityContext:
          runAsNonRoot: true
          runAsUser: 10001
          capabilities:
            drop:
              - all
          readOnlyRootFilesystem: true
      nodeSelector:
        beta.kubernetes.io/os: linux
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: front-end-v2
  labels:
     name: front-end
     version: v2
  namespace: sock-shop
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: front-end
        version: v2
    spec:
      containers:
      - name: front-end
        image: vinayakinfrac/front-end:0.3.12
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
        ports:
        - containerPort: 8079
        securityContext:
          runAsNonRoot: true
          runAsUser: 10001
          capabilities:
            drop:
              - all
          readOnlyRootFilesystem: true
      nodeSelector:
        beta.kubernetes.io/os: linux
---
apiVersion: v1
kind: Service
metadata:
  name: front-end
  labels:
    name: front-end
  namespace: sock-shop
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 8079
    name: http-front-end
    nodePort: 30001
  selector:
    name: front-end

这是我的目录的命运法则:

代码语言:javascript
复制
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: catalogue
  namespace: sock-shop
spec:
  host: catalogue
  trafficPolicy:
    tls:
      mode: ISTIO_MUTUAL
  subsets:
  - name: v1
    labels:
      version: v1

这就是虚拟服务,它包括错误注入:

代码语言:javascript
复制
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: catalogue
  namespace: sock-shop
spec:
  hosts:
  - catalogue
  http:
  - fault:
      delay:
        fixedDelay: 30s
        percent: 100
    route:
    - destination:
        host: catalogue.sock-shop.svc.cluster.local
        subset: v1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-08 19:50:02

好像是我搞错了。我已经尝试了相同的配置,在最初的问题,它现在工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57409156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档