Route change apply in Istio too slow and make deployment failed

3/12/2021

I am working on DevOps solution, and try to automate the blue-green deployment solution on kubernetes. However, we are facing the issue that the istio apply the route rules too slow, when removing the virtualservices and take a long time to effective. We tried to wait 60s to wait the rules updated and destroy the old pods. We don't have ideas that 60s is enough to finish the route change, and will have downtime if over 60s to take effective. Would like to get some advises on how to check the route (to green one only ) is updated properly? and how to make the istio apply to execute faster? Thanks.

Here is the yaml file to apply the virtualservice:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  namespace: xxx-d
  name: xxx-virtualservice
  labels:
    microservice: xxx-new
spec:
  hosts:
  - xxx.com
  gateways:
  - mesh
  - http-gateway.istio-system.svc.cluster.local
  - https-gateway.istio-system.svc.cluster.local
  http:
  - headers:
      request:
        set:
          x-forwarded-port: '443'
          x-forwarded-proto: https
    route:
    - destination:
        host: xxx-service.svc.cluster.local
        port:
          number: 8080
    retries:
      attempts: 3
      retryOn: gateway-error,connect-failure,refused-stream
    timeout: 3s
-- hellowong
blue-green-deployment
change-management
istio
kubernetes

0 Answers