阿里云服务网格ASM对接使用全攻略:从入门到生产级实践

apphuang2026年07月09日 11:17:4916

引言:微服务治理的困境与ASM的破局之道

在微服务架构大规模普及的今天,一个复杂的业务系统往往由数十甚至数百个微服务组成。服务之间的网络通信变得极其复杂,开发者不仅需要关注业务逻辑的实现,还需要投入大量精力处理服务发现、负载均衡、流量路由、熔断降级、超时重试、安全加密等基础设施层面的问题。这种将通信逻辑与业务逻辑耦合在一起的做法,严重影响了开发效率和系统稳定性。

服务网格技术的出现,为解决这一困境提供了全新的思路。它将微服务间的通信逻辑从应用层剥离,下沉到独立的基础设施层,通过在每个服务实例旁部署代理来接管所有的网络流量,从而实现通信层与业务层的解耦。阿里云服务网格ASM正是在这一理念下诞生的全托管式服务网格平台。

ASM基于Kubernetes构建,完全兼容社区Istio开源服务网格,将Istio控制面的所有组件进行托管,极大降低了用户的使用和运维成本。通过ASM,开发者可以使用声明式的配置定义灵活的路由规则、执行安全策略、观测服务行为,而无需修改任何业务代码。一个ASM实例甚至可以管理来自多个Kubernetes集群的应用服务,提供统一的流量管理和服务发现能力。

本文将从架构原理、实例创建、集群接入、流量治理、安全管理、可观测性、灰度发布、多集群管理等多个维度,对阿里云服务网格ASM的对接与使用进行系统性解析。

需要先登录阿里云控制台,点击:阿里云控制台

一、ASM架构解析:控制面与数据面的协同

理解ASM的流量治理机制,首先需要了解其整体架构。ASM分为控制面和数据面两大部分。

1.1 控制面:托管的治理大脑

控制面是ASM的治理核心,负责读取用户配置、管理服务注册信息、下发治理策略到数据面。在ASM中,控制面的所有组件均由阿里云全托管。用户无需关心控制面的部署、升级、扩缩容和运维,只需专注于业务应用的开发与部署。

控制面的核心职责包括:服务注册与发现、配置管理与分发、安全证书管理、策略执行与遥测数据收集。ASM控制面与社区Istio保持兼容,支持声明式的方式定义路由规则和安全策略。

1.2 数据面:无处不在的流量拦截

数据面由部署在每个业务Pod中的网络代理组成,这些代理会拦截进出Pod的所有网络流量,并按照控制面下发的指令对流量进行处理。ASM默认使用Envoy作为数据面代理,Envoy是一款高性能的七层代理,具备丰富的流量治理能力。

目前ASM支持两种数据面部署模式:

  • Sidecar模式:每个业务Pod中自动注入一个Envoy代理容器,该代理管理进出Pod的所有流量。这是最经典的服务网格数据面模式,适用于大多数场景。
  • Ambient模式:每个节点部署一个四层代理,同时可以为命名空间或指定服务部署七层Envoy代理。该模式进一步降低了资源开销,提供了更灵活的数据面部署选项。从ASM 1.25版本开始,Ambient模式的核心能力已经稳定。

ASM支持多种数据面基础设施形态,包括ACK托管集群、ACK Serverless集群、ACS集群、ACK Edge集群以及通过注册集群接入的外部Kubernetes集群。

二、ASM实例的创建与集群接入

在使用服务网格ASM之前,首先需要创建一个ASM实例。

2.1 前提条件

创建ASM实例前,需要完成以下准备工作:

  • 已开通服务网格ASM服务
  • 已获得以下角色授权:AliyunServiceMeshDefaultRole、AliyunCSClusterRole、AliyunCSManagedKubernetesRole

创建服务网格的过程中,ASM会自动创建安全组、VPC路由规则、EIP、RAM角色及相应策略,以及私网CLB等资源。需要注意的是,创建时不支持使用已有安全组,创建后也不支持更改安全组。

2.2 通过控制台创建ASM实例

登录ASM控制台,在左侧导航栏选择'服务网格 > 网格管理'。在网格管理页面,单击'创建新网格',配置以下关键信息:

  • 网格名称:服务网格的名称
  • 规格:可选企业版和旗舰版。企业版适用于中小规模生产环境,支持最多1000个Pod;旗舰版适用于大规模生产环境,支持最多10000个Pod
  • 地域:服务网格所在的地域
  • Istio版本:仅支持选择两个最新的大版本
  • Kubernetes集群:根据待添加到服务网格中的Kubernetes集群信息,自动选择专有网络、交换机及集群本地域名
  • API Server访问:可选择是否开放使用EIP暴露API Server。开放后可在公网通过kubeconfig连接和操作ASM
  • 可观测性:可选择是否启用链路追踪,ASM集成了阿里云可观测链路OpenTelemetry版

一个ASM实例的创建时间约为2到3分钟。

2.3 将集群添加到ASM实例

创建ASM实例后,需要将Kubernetes集群添加到该实例中。ASM支持多种集群类型:

  • ACK托管版集群和专有版集群
  • ACK Serverless集群
  • ACS集群
  • ACK Edge集群
  • 外部注册集群(本地数据中心Kubernetes集群或其他云厂商Kubernetes集群)

对于外部集群,需要先将集群接入到阿里云注册集群,再通过ASM进行应用管理。添加集群时,需确保注册集群数据面所使用的网络环境与ASM实例对应的VPC网络已实现互通。

将集群添加到ASM实例后,可以借助ASM提供的流量管理、故障处理、统一监控和日志管理等功能,增强系统的可靠性和安全性。

2.4 为命名空间启用Sidecar自动注入

集群接入ASM后,需要为具体的命名空间启用Sidecar自动注入,以便ASM自动为命名空间下新创建的Pod注入Envoy代理。这通常通过给命名空间添加特定标签来实现,例如:

kubectl label namespace default istio-injection=enabled

启用自动注入后,该命名空间下新创建的Pod将自动拥有Sidecar代理,从而被纳入服务网格的治理范围。

三、流量管理核心:VirtualService与DestinationRule

ASM的流量管理能力建立在Istio的两大核心资源之上——VirtualService和DestinationRule。ASM会先评估VirtualService的路由规则,然后将DestinationRule的策略应用到解析后的目标上。

3.1 DestinationRule:定义服务版本与流量策略

DestinationRule是服务网格ASM实现流量路由功能的关键资源之一。它定义了在路由发生后,发往目标服务的流量策略,包括负载均衡策略、连接池大小、异常检测等配置。

DestinationRule最核心的用法是定义服务子集,将同一服务的不同版本(如v1、v2、v3)通过标签进行分组。以下是一个典型的DestinationRule配置示例:

apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: reviews-destination
spec:
  host: reviews
  trafficPolicy:
    loadBalancer:
      simple: ROUND_ROBIN
  subsets:
  - name: v1
    labels:
      version: v1
  - name: v2
    labels:
      version: v2
  - name: v3
    labels:
      version: v3

上述配置将reviews服务划分为v1、v2、v3三个子集,并指定了轮询负载均衡策略。

3.2 VirtualService:定义流量路由规则

VirtualService定义了一组流量路由规则,每个路由规则包含特定的流量匹配条件。如果流量匹配,则将其转发到路由规则所指定的目标服务或者目标服务的版本。VirtualService支持基于HTTP路径、请求头、查询参数等多种条件的路由匹配。

以下是一个基于请求头进行路由的VirtualService配置示例:

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: reviews-routing
spec:
  hosts:
  - reviews
  http:
  - match:
    - headers:
        end-user:
          exact: jason
    route:
    - destination:
        host: reviews
        subset: v2
  - route:
    - destination:
        host: reviews
        subset: v1

该配置将携带'end-user: jason'请求头的流量路由到reviews服务的v2版本,其他流量则路由到v1版本。

VirtualService还支持基于流量比例的灰度发布。例如,将10%的流量路由到新版本v2,90%的流量路由到旧版本v1:

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: reviews-routing
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1
      weight: 90
    - destination:
        host: reviews
        subset: v2
      weight: 10

3.3 ASM网关:南北向流量入口

ASM网关作为统一的访问入口,可以简化流量的管理和路由,并利用七层负载均衡能力根据HTTP请求的路径、主机头或其他属性将流量智能分发至相应的后端服务。ASM为网关提供了直观的图形化界面,用户可以直接在控制台创建目标规则和虚拟服务,而无需编写YAML文件。

ASM网关支持同时部署在多个集群,以提高服务可用性。通过ASM控制台,用户可以管理入口网关的域名、证书、上游服务以及流量策略。此外,ASM网关还支持TLS/mTLS协议,可以在网关处进行TLS终止,网格内的应用无需再进行TLS配置。

四、零信任安全体系:mTLS与授权策略

ASM提供了开箱即用的零信任安全解决方案,涵盖身份认证、安全证书、策略执行和可视化分析等能力。ASM在基础设施层实现了mTLS加密,覆盖Kubernetes环境中的入口、东西向和出口三个流量阶段,且无需修改应用代码。

4.1 mTLS双向认证

服务网格中的授权机制依赖于mTLS协议来验证客户端身份,这种互相认证的机制能够确保在服务网格中的每个服务调用都来自受信任的客户端。ASM默认使用mTLS证书完成请求身份的认证。

在迁移从明文到全mTLS的过程中,ASM支持通过对等身份认证策略进行逐步迁移。对于东西向流量,mTLS通信是ASM提供的基础功能之一,只要将集群内通信双方启用Sidecar或Ambient模式即可自动启用。开启Ambient模式后,Pod之间的通信会被自动升级为mTLS,应用无需做任何修改。

4.2 授权策略

确认请求身份之后,可以使用授权策略来限制请求的行为。ASM支持完善的认证、授权配置,还提供了灵活的扩展能力,支持对接HTTP协议和gRPC协议的自定义授权服务。

用户可以在网关上配置JWT认证完成对请求身份的认证。对于网格内的请求,默认通过mTLS完成认证。通过授权策略,可以实现命名空间级别的访问控制、基于身份的细粒度权限管理等安全能力。

五、可观测性:日志、监控指标与链路追踪

ASM提供了日志、监控指标、链路追踪三个维度的可观测配置功能。用户可以通过ASM控制台为全局、命名空间或指定工作负载自定义相关配置。

5.1 访问日志

在Service Mesh中,日志的采集是实现可观测性的重要手段之一。ASM提供了日志过滤和日志格式化功能,可以根据需要对日志进行过滤和格式化,以便更好地检索和分析日志。

5.2 监控指标

ASM支持将指标数据上报到阿里云可观测链路OpenTelemetry版和多种类型的自建系统。服务网格的数据平面代理位于服务之间的网络请求路径中,通过捕获代理的可观测性数据可以在运行时了解应用程序网络和网格的运行情况。

5.3 链路追踪

ASM集成了阿里云可观测链路OpenTelemetry版,为分布式应用的开发者提供了完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等能力。链路追踪集成了服务发现、流量管理和可观测性,可以帮助理解多微服务应用的性能特征和相互依赖关系。

用户可以通过ASM控制台为全局、命名空间或指定工作负载配置链路追踪的采样率等参数。对于网格内外应用的一体化追踪,需要使用可观测链路OpenTelemetry版以形成完整的调用链。

六、高级场景实践

6.1 全链路灰度发布与流量泳道

灰度发布会根据请求内容或者请求流量的比例将线上流量的一小部分转发至新版本,待灰度验证通过后,逐步调大新版本的请求流量。ASM的流量泳道功能可以实现全链路灰度治理,确保灰度流量在整条调用链上按照预设规则进行路由。

ASM支持两种流量泳道模式:严格模式和宽松模式。严格模式对应用程序无任何要求,只需配置流量泳道即可实现全链路灰度管理。

此外,ASM还支持按用户维度的灰度发布,即每个用户要么完全进入灰度版本,要么完全进入非灰度版本。多个应用可以同时进行独立的灰度发布,各个应用的发布动作和进程互不干扰。

6.2 多集群统一流量管理

ASM定位于混合云、多云、多集群等核心场景,构建托管式统一的服务网格能力。一个ASM实例可以管理多个Kubernetes集群的应用服务,提供跨VPC、跨地域的流量管理能力。

在多集群场景中,ASM默认将所有数据平面集群的同名服务视作同一服务。ASM网关可以结合阿里云云解析DNS和全局流量管理GTM使用,实现地域级故障容灾。

ASM还支持动态子集路由,自1.18版本起,用户可以通过指定维度动态地将相同维度值的工作负载划分至同一个动态子集,无需为每个新版本手动配置子集。

6.3 出口流量管理

ASM针对集群的出口流量同样提供了丰富的认证与授权能力。ASM提供了两种出口流量管理方式:

  • 通过ServiceEntry和Waypoint实现细粒度的单服务管控
  • 通过EgressPolicy实现全局层面的策略管控

ASM出口网关作为网格内流量的统一出口,可以执行TLS/mTLS请求的发起,进而实现全链路的加密通信。

七、Ambient模式:新一代数据面形态

Ambient模式由Istio社区在2022年推出,旨在解决Sidecar模式的固有缺点。在Ambient模式中,应用Pod内不再有Envoy代理,转而通过节点级的Ztunnel和独立部署的Waypoint实现L4和L7能力。

从ASM 1.25版本开始,Ambient模式的核心能力已经稳定。用户只需为命名空间启用Ambient模式,应用就会立刻切换到mTLS通信并且可以使用部分L4功能,整个过程完全无需重新部署应用。如果某些应用需要使用L7能力,可以针对性地为指定Service开启Waypoint代理。

Sidecar模式和Ambient模式各有适用场景。企业在选择数据面模式时,需要根据自身的工作负载规模、性能要求和功能需求进行综合评估。

结语

阿里云服务网格ASM作为一个全托管、Istio兼容的服务网格平台,为云原生微服务治理提供了从流量管理、安全加密到可观测性的全方位解决方案。通过控制面与数据面分离的架构设计,ASM将服务通信逻辑从业务代码中彻底解耦,形成独立的基础设施层。

本文从ASM的架构原理出发,系统介绍了实例创建、集群接入、流量路由配置、安全策略实施、可观测性配置以及灰度发布、多集群管理等高级实践。希望通过本文的讲解,读者能够全面掌握ASM的对接使用方法,将服务网格技术有效落地到生产环境中。

常见问题解答

问1:ASM和开源Istio是什么关系?
ASM完全兼容社区Istio开源服务网格,将Istio控制面的所有组件进行托管。用户可以使用Istio的声明式配置定义路由规则和安全策略,同时享受阿里云全托管的运维便利。

问2:ASM支持哪些类型的Kubernetes集群?
ASM支持ACK托管版和专有版集群、ACK Serverless集群、ACS集群、ACK Edge集群,以及通过注册集群接入的外部Kubernetes集群(包括本地数据中心集群和其他云厂商集群)。

问3:Sidecar模式和Ambient模式有什么区别?
Sidecar模式在每个业务Pod中注入Envoy代理,适用于大多数场景。Ambient模式在节点级部署Ztunnel代理,Pod内无需注入代理,资源开销更低,从ASM 1.25版本开始核心能力已稳定。两者各有适用场景,企业可根据实际需求选择。

问4:如何在不修改代码的情况下为微服务启用mTLS加密?
ASM在基础设施层实现mTLS加密,覆盖入口、东西向和出口三个流量阶段,无需修改应用代码。对于东西向流量,只要将通信双方启用Sidecar或Ambient模式即可自动启用mTLS。

问5:ASM如何实现灰度发布?
ASM通过VirtualService的权重路由实现基于流量比例的灰度发布,通过流量泳道实现全链路灰度治理。支持按用户维度、按请求头等多种灰度策略。

问6:ASM的可观测性包括哪些能力?
ASM提供日志、监控指标和链路追踪三大可观测能力。日志支持过滤和格式化;监控指标可上报到阿里云可观测链路OpenTelemetry版或自建系统;链路追踪提供调用链还原、拓扑分析等能力。

相关文章

买阿里云服务器能便宜吗?十年代理揭秘 3 大省钱攻略!

买阿里云服务器能便宜吗?十年代理揭秘 3 大省钱攻略!

作为深耕阿里云代理领域 10 年的 “老司机”,经常被问到:“买阿里云服务器能便宜吗?有没有优惠价格?” 今天就用实打实的行业经验告诉你:不仅能便宜,选对渠道还能省一大笔! 这篇文章带你解锁阿里云服务…

做了 10 年腾讯云代理,我想跟你聊聊返佣那些事儿​

做了 10 年腾讯云代理,我想跟你聊聊返佣那些事儿​

最近总有朋友问我:“腾讯云有返点吗?腾讯云服务器能拿佣金不?返佣比例到底有多少?” 作为一个在腾讯云代理行业摸爬滚打了 10 年的 “老人”,今天就来跟大家好好…

阿里云代理商返佣机制深度解析:头部代理优势与企业合作策略

阿里云代理商返佣机制深度解析:头部代理优势与企业合作策略

阿里云代理商的核心价值定位1. 代理商的角色与职责阿里云代理商作为阿里云生态的核心合作伙伴,承担着双重核心职能:• 产品销售:负责推广销售阿里云全系列云产品,包括云服务器ECS、云数据库RDS、对象存…

阿里云代理商返佣机制深度解析:头部代理优势与企业合作策略

阿里云代理商返佣机制深度解析:头部代理优势与企业合作策略

01一、阿里云代理商的核心价值定位1. 代理商的角色与职责阿里云代理商作为阿里云生态的核心合作伙伴,承担着双重核心职能:• 产品销售:负责推广销售阿里云全系列云产品,包括云服务器ECS、云数据库RDS…

阿里云代理商有哪些?阿里云代理返点是真的么?

阿里云代理商有哪些?阿里云代理返点是真的么?

一,阿里云代理商基本介绍阿里云代理商通俗一点,就是指从事阿里云云服务器,云数据库等阿里云公有云产品销售的代理商,每销售一件阿里云公有云产品出去,阿里云给予该代理商一定比例的提成。在阿里云官方定义中,这…

2026阿里云代理商生态全解析:五级代理体系、返佣政策与企业上云指南

2026阿里云代理商生态全解析:五级代理体系、返佣政策与企业上云指南

一、阿里云五级代理体系:权益阶梯与合作价值1. 五级代理的核心权益差异阿里云构建了多层次的代理生态体系,涵盖全国总代理、区域核心代理、行业ISV(独立软件开发商)、金牌/银牌认证代理及标准代理五大核心…