k8s 使用 ingress 实现简单的灰度发布(金丝雀发布)

ingree yaml 文件

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: myapp
  annotations:
    nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
    nginx.ingress.kubernetes.io/proxy-body-size: "20m"
    nginx.ingress.kubernetes.io/service-weight: |
    myapp-v1: 80, myapp-v2: 20
spec:
  tls:
  - hosts:
    - myapp.leffss.com
    secretName: mytls
  rules:
  - host: myapp.leffss.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: myapp-v1
            port:
              number: 80
      - path: /
        pathType: Prefix
        backend:
          service:
            name: myapp-v2
            port:
              number: 80

通过 nginx.ingress.kubernetes.io/service-weight: 设置 80% 流量到 myapp-v1,20% 流量到 myapp-v2

原文地址:https://www.cnblogs.com/leffss/p/14742416.html