【阿里云实战】ACK+MSE+APIG 实现全链路灰度

发布于:2025-07-16 ⋅ 阅读:(17) ⋅ 点赞:(0)


本文基于ACK、微服务引擎MSE、云原生API网关实现全链路灰度场景,ACK部署服务,MSE nacos做为服务的注册配置中心,云原生API网关做流量的统一入口,结合微服务治理实现全链路灰度。
有应用A、B、C,3个应用都有基线版本,其中A、C有灰度版本,实践全链路灰度应用的情况。
在这里插入图片描述

前提条件

  1. 已经创建ACK集群
  2. 已经创建MSE nacos实例
  3. 已经创建云原生API网关实例
  4. 已经开通微服务治理

操作步骤

1. 部署spring cloud服务

  1. 创建命名空间mse-demo,服务部署在此命名空间下。
kubectl create ns mse-demo
  1. 复制如下YAML文件内容,部署A、B、C三个应用的基线版本。

代码中的{nacos server address}需要替换成您创建的MSE Nacos的内网域名,同时需要去掉大括号{}。

# 应用A的基线版本
apiVersion: apps/v1
kind: Deployment
metadata:
  name: spring-cloud-a
  namespace: mse-demo
spec:
  selector:
    matchLabels:
      app: spring-cloud-a
  template:
    metadata:
      labels:
        app: spring-cloud-a
        msePilotCreateAppName: spring-cloud-a
        msePilotAutoEnable: 'on'
    spec:
      containers:
      - name: spring-cloud-a
        image: registry.cn-hangzhou.aliyuncs.com/mse-governance-demo/spring-cloud-a:3.0.1
        imagePullPolicy: Always
        ports:
          - containerPort: 20001
        livenessProbe:
          tcpSocket:
            port: 20001
          initialDelaySeconds: 30
          periodSeconds: 60
        env:
        - name: spring.cloud.nacos.discovery.server-addr
          value: {nacos server address}
        - name: dubbo.registry.address
          value: 'nacos://{nacos server address}:8848'
---
# 应用B的基线版本
apiVersion: apps/v1
kind: Deployment
metadata:
  name: spring-cloud-b
  namespace: mse-demo
spec:
  selector:
    matchLabels:
      app: spring-cl

网站公告

今日签到

点亮在社区的每一天
去签到