什么是服务网格ASM?

阿里云服务网格Service Mesh,简称ASM)提供一个全托管式的服务网格平台,基于Kubernetes构建,兼容社区Istio开源服务网格,用于简化服务的治理,包括服务调用之间的流量路由与拆分管理、服务间通信的认证安全以及网格可观测性能力,从而极大地减轻开发与运维的工作负担。

视频介绍

产品架构

ASM的产品架构如下图所示。

image

ASM的控制面组件全部由阿里云托管,降低使用的复杂度,您只需要专注于业务应用的开发部署。同时,ASM版本保持与Istio社区兼容,支持声明式的方式定义灵活的路由规则,支持网格内服务之间的统一流量管理。

一个ASM实例可以管理来自多个Kubernetes集群的应用服务,提供全面的流量管理和服务发现功能。通过集中管理不同集群中的服务流量,ASM实例可以智能地路由请求,确保高可用性和负载均衡。

核心功能

ASM的核心功能说明如下。更多信息,请参见功能特性

功能项

说明

相关文档

网格实例的全生命周期管理

控制面全托管,兼容Istio社区规范,支持一键部署、升级和删除等管理操作,降低使用及运维门槛。

实例管理

多种基础设施应用的支持

支持ACK、ACK Serverless、ACS集群和边缘集群及外部注册Kubernetes集群上的应用。

多类型集群应用管理

统一的流量入口与出口网关

为网格内应用提供统一的流量入口和出口,支持一键启用或禁用mTLS,实现端到端安全加密和流量控制。

ASM网关概述

多种类型的流量管理

支持多协议流量管理、全链路灰度、熔断降级、

本地限流、慢启动预热及流量回退等能力。

流量管理

兼容多种可观测能力

提供网格诊断能力,集成托管式跟踪、监控和日志服务,以实现端到端的可见性。

可观测性管理

无侵入的零信任安全体系

提供开箱即用、动态可配的零信任安全方案,包括身份认证、安全证书、策略执行及可视化分析。

零信任安全概述

面向自定义逻辑的可扩展性

插件市场内置多种开箱即用的扩展插件,同时支持自定义EnvoyFilter。

扩展中心

完善的生态集成

支持常见的GitOps工具,支持对Knative、KServeServerlessAI服务的支持。

生态集成

版本介绍

ASM按照不同的功能及支撑能力划分为标准版、企业版和旗舰版。商业版在标准版的基础上,增强了多协议支持以及动态扩展能力,提供精细化服务治理,完善零信任安全体系,并持续提升性能及大规模集群支持能力,降低在生产环境落地服务网格的门槛,适用于有多语言互通、服务精细治理需求、在生产环境大规模使用服务网格的场景。

版本

说明

免费版

标准版

面向功能测试体验,支持50以内Pod数规模,无企业级增强能力,不推荐用于生产环境。

商业版

企业版

面向中小规模生产,支持1000以内Pod数规模,具备企业级增强能力,有SLA保障。

旗舰版

面向大规模生产,支持10000以内Pod数规模,具备企业级增强能力,有SLA保障。

使用方式

您可以使用以下方式创建和管理您的网格实例。

  • 通过ASM控制台。ASM控制台为您提供访问功能的Web界面。更多信息,请参见创建ASM实例

  • 通过ASM CLI命令行。ASM CLI是命令行工具,属于阿里云命令行工具集的成员。通过统一的aliyun-cli分发包发布最新版工具。更多信息,请参见安装和使用ASM CLI

ASM有以下几种常见的应用场景。

场景

说明

流量管理

  • 将流量管理与基础设施管理分隔开来,并提供了许多独立于应用代码之外的流量管理功能,在部署规模逐步扩大的过程中帮助简化流量管理。

  • 管理服务网格的服务发现、流量路由和负载均衡,简化服务级属性的配置,例如超时和重试等。

服务安全

  • 支持以渐进方式实现mTLS双向认证,可以确保服务间通信以及最终用户与服务之间通信的安全。

  • 双向TLS认证在实现过程中不需要更改服务代码,可以为每个服务提供基于角色的强大身份认证机制,以实现跨集群、跨云端的交互操作。

  • 借助Istio授权机制,ASM确保只能从经过严格身份认证和授权的客户端访问包含敏感数据的服务。

  • 支持对网格中的服务进行基于命名空间级别、服务级别和方法级别的访问权限控制,包括使用基于角色的语义、服务到服务和最终用户到服务的授权,并在角色和角色绑定方面提供灵活的自定义属性支持。

  • 基于Istio的密钥管理系统,支持自动生成、分发、轮换与撤销密钥和证书。

故障恢复

  • 分布式系统存在高度复杂性,在基础设施、应用逻辑、运维流程等环节都可能存在稳定性风险导致业务系统的失效。

  • 提供了基于Istio的混沌工程能力,包括如何使用连接池配置和异常检测实现熔断能力,支持针对服务的重试和故障注入等能力。

可观测

通过集成的可观测链路 OpenTelemetry 版,为分布式应用的开发者提供完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等工具,帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高开发诊断效率。

云原生应用架构

在企业生产环境中,通过合理微服务拆分,将每个微服务应用存储在阿里云镜像仓库帮您管理。您只需迭代每个微服务应用,由阿里云提供调度、编排、部署和灰度发布能力。

  • 负载均衡和服务发现支持4层和7层的请求转发和后端绑定。

  • 丰富的调度和异常恢复策略支持服务级别的亲和性调度,支持跨可用区的高可用和灾难恢复。

  • 微服务监控和弹性伸缩支持微服务和容器级别的监控,支持微服务的自动伸缩。

多集群容灾的场景

云上业务可能遭遇的一些极端类型的故障,例如地域级故障、可用区级故障以及最常见的服务级故障。

  • 地域级容灾:采用多主控制面架构,结合阿里云云解析DNS和全局流量管理(GTM),确保跨地域的高可用性。

  • 可用区级容灾:通过动态监测不同可用区的服务指标,自动切换流量以维护业务连续性。

  • 服务级容灾:支持多种应用部署拓扑,通过降级和熔断机制保障系统健壮性。

产品计费

ASM按照不同的功能及支撑能力划分为标准版、企业版和旗舰版,其中标准版为免费版本,其他两个版本为商业版,不同的版本计费标准不同。关于ASM的计费详情,请参见计费说明

使用限制

使用ASM之前,您需要了解以下限制:

限制项

说明

创建ASM实例

网格实例一旦创建后,暂不支持以下操作:

  • 变更网格所依赖的VPC与虚拟交换机。

  • 如果创建时未开启公网暴露API Server,暂不支持增加公网CLB暴露API Server。

  • 如果创建时未开启公网暴露Istio Pilot,暂不支持增加公网CLB暴露Istio Pilot。

配额

  • 可创建的网格实例数为10。如果您需要扩大配额,请到配额平台提交申请进行申请。

  • 每个网格的Envoy代理数,根据不同的ASM实例规格有不同的承载规模,详情请参见计费说明

使用Alibaba Cloud Linux 3操作系统的节点

  • 您需要将服务网格升级至1.14或更高版本以支持使用Alibaba Cloud Linux 3操作系统的节点。

说明

使用ASM之前需要确保能创建标准托管ACK集群。关于使用阿里云容器服务Kubernetes集群过程中的相关限制,请参见配额与限制

ASM用户交流群

如果您对于ASM有任何疑问,欢迎搜索群号30421250加入钉钉交流群。

学习资源

链接

说明

Istio

Istio是一个开源的服务网格,提供连接、保护、控制以及观测功能,通过提供完整的非侵入式的微服务治理解决方案,可以解决云原生服务的管理、网络连接以及安全管理等服务网络治理问题。由ASM创建并托管Istio的控制面,具备简单、低成本、高可用、无需运维管理Istio控制面的特点。

CNCF × Alibaba云原生技术公开课

由阿里云和CNCF联合开发的免费课程,可以帮助您理解云原生技术背后的思想与本质,打造属于自己的云原生技术树。

阿里云云原生容器工程师ACP认证课程

该课程为付费课程,包含云原生容器人才所需技能及知识的工程师认证,定义云原生容器领域人才的考量标准,也是阿里巴巴云原生容器产品相关体系认证计划的核心部分。