在ASM网关的YAML中添加asm.alibabacloud.com/enable-canary-deployment: "true"的Annotation,部署一个灰度副本。
方式一:通过ASM控制台登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择ASM网关 > 入口网关。
在入口网关页面,单击目标网关右侧的查看YAML,在编辑对话框,将asm.alibabacloud.com/enable-canary-deployment: "true"注解添加到metadata字段下的annotations中,然后单击确定。
方式二:通过kubectl命令执行以下命令,打开ASM网关的YAML文件。
kubectl edit IstioGateway
展开查看添加Annotation的YAML示例
apiVersion: istio.alibabacloud.com/v1beta1
kind: IstioGateway
metadata:
labels:
asm-gateway-type: ingress
annotations:
asm.alibabacloud.com/enable-canary-deployment: "true" # 添加此Annotation。
name: ingressgateway
namespace: istio-system
spec:
clusterIds:
- xxxxxxxxxxxxxx
disableContainerPortExposed: true
dnsPolicy: ClusterFirst
externalTrafficPolicy: Local
gatewayType: ingress
ports:
- name: http-0
port: 80
protocol: HTTP
targetPort: 80
replicaCount: 1
resources:
limits:
cpu: '2'
memory: 4G
requests:
cpu: 200m
memory: 256Mi
rollingMaxSurge: 25%
rollingMaxUnavailable: 25%
serviceAnnotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain: 'on'
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain-timeout: '10'
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: PayByCLCU
service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet
serviceType: LoadBalancer