本文介绍服务网格所涉及的基本概念,以便于您更好地理解和使用ASM。
基本概念总览
分类 | 名称 | |
通用概念 | Istio、托管服务网格(Managed Service Mesh)、控制平面(Control Plane)、数据平面(Data Plane)、命名空间(Namespace) | |
计费相关 | ||
网格相关 | 集群与工作负载 | |
数据面组件管理 | ||
ASM网关 | ||
流量 | 虚拟服务(Virtual Service)、目标规则(Destination Rule)、限流、熔断、灰度发布、蓝绿发布 | |
可观测 | ||
安全 |
Istio
Istio是一个开源的服务网格,提供连接、保护、控制以及观测功能,通过提供完整的非侵入式的微服务治理解决方案,可以解决云原生服务的管理、网络连接以及安全管理等服务网络治理问题。
托管服务网格(Managed Service Mesh)
由服务网格ASM创建并托管Istio的控制平面,具备简单、低成本、高可用、无需运维管理Istio控制平面的特点。更多信息,请参见什么是服务网格ASM?。
控制平面(Control Plane)
从架构设计上看,服务网格ASM逻辑上分为控制平面和数据平面两部分。控制平面负责管理和配置代理,从而实现路由流量。更多信息,请参见什么是服务网格ASM?。
数据平面(Data Plane)
数据平面由一组以Sidecar方式部署的智能代理(Envoy)组成,负责调节和控制微服务以及控制平面之间所有的网络通信。更多信息,请参见什么是服务网格ASM?。
命名空间(Namespace)
命名空间为Kubernetes集群提供虚拟的隔离作用。Kubernetes集群初始有3个命名空间,分别是默认命名空间default、系统命名空间kube-system和kube-public。管理员可以按需创建新的命名空间。
通过服务网格ASM控制台或者使用ASM KubeConfig定义的命名空间隶属于ASM实例本身,与该ASM管理的数据平面集群是独立的,因此ASM托管的控制平面的命名空间可以与数据平面集群的命名空间存在不同的情况。即在服务网格ASM控制台新增或者删除命名空间,并不会影响数据平面Kubernetes集群的命名空间。更多信息,请参见管理全局命名空间。
按量付费(pay-as-you-go)
按量付费是一种先使用后付费的计费方式。您只需为实际使用的资源付费,不需要提前购买资源。更多信息,请参见计费说明。
资源包(Resource Plan)
资源包是一种预付费的计费方式,与按量付费相比,您可以使用更优惠的价格享受等量资源,从而减少成本。更多信息,请参见计费说明。
服务条目(Service Entry)
作为ASM自定义资源之一,服务条目用于将一个服务添加到ASM抽象模型或服务注册表中。这些注册的服务是由ASM内部维护。添加服务条目后,Envoy代理可以将流量发送到该服务,如同这个添加的服务条目是网格中的其他服务一样。更多信息,请参见管理集群外服务。
Sidecar代理
默认情况下,ASM支持每个Envoy代理都可以访问来自和它关联的工作负载的所有端口的请求,然后将请求转发到对应的工作负载。Sidecar代理可以修改Envoy代理支持的端口和协议集、限制Envoy代理可以访问的服务集合。
ASM默认提供一个Webhook控制器(即Sidecar注入器),可以在集群中的Pod创建时,将Sidecar代理自动添加到可用的Pod中。您可以对Sidecar注入器使用的Sidecar注入策略以及Sidecar注入器本身的资源、副本数等属性进行配置。更多信息,请参见Sidecar管理。
入口网关(Ingress Gateway)
入口网关并不是指ASM自定义资源,而是指Kubernetes服务。它是真实的入口网关服务的抽象,由对应的容器来提供支持。通过ASM创建一个入口网关时,会部署一个Kubernetes服务和Deployment资源到用户集群中。更多信息,请参见入口网关。
出口网关(Egress Gateway)
出口网关为网格内应用提供统一的流量出口。更多信息,请参见出口网关。
网关规则(Gateway)
作为ASM自定义资源之一,网关规则定义了在网格出入口操作的负载均衡器,用于接收传入或传出的HTTP/TCP连接。它描述了需要公开的一组端口、要使用的协议类型、负载均衡器的SNI配置等信息。更多信息,请参见管理网关规则。
虚拟服务(Virtual Service)
作为ASM自定义资源之一,虚拟服务定义了一系列针对指定服务的流量路由规则。每个路由规则都针对特定协议定义流量匹配规则。如果流量符合这些特征,就会根据规则发送到服务注册表中的目标服务(或者目标服务的子集或版本)。更多信息,请参见管理虚拟服务。
目标规则(Destination Rule)
作为ASM自定义资源之一,目标规则定义了在路由发生后应用于服务的流量策略。这些规则指定负载均衡的配置、来自Sidecar代理的连接池大小以及异常检测设置,从而实现从负载均衡池中检测和驱逐不健康的主机。更多信息,请参见管理目标规则。
限流
限流可以保护目标服务,避免对服务的过载访问。ASM提供了本地限流功能,支持对网关和服务进行流量限制。更多信息,请参见使用ASM本地限流功能。
熔断
熔断可以使应用程序具备应对来自故障、潜在峰值和其他未知网络因素影响的能力,避免网络和服务调用故障级联发生,系统整体性能下降或者崩溃。ASM支持在流量策略中配置熔断功能,在网络访问超出熔断配置时能够拒绝请求。更多信息,请参见使用ASM路由级熔断功能。
灰度发布
灰度发布又名金丝雀发布,指在原有部署版本可用的情况下,同时部署新版本应用作为金丝雀,测试新版本的性能。在保证整体系统稳定的情况下,帮助您尽早发现问题和修复问题。更多信息,请参见基于ASM完成蓝绿和灰度发布、通过TrafficLabel实现全链路灰度发布和在Knative on ASM中基于流量灰度发布服务。
蓝绿发布
蓝绿发布提供了一种零宕机的部署方式。在老版本运行的基础上,部署新版本进行测试。确认新版本运行正常后,将流量切到新版本,然后同时将老版本升级到新版本。始终有两个版本同时在线,有问题可以快速切换,可以减少发布过程中服务停止的时间。更多信息,请参见基于ASM完成蓝绿和灰度发布和集成云效实现蓝绿发布。
网格拓扑
网格拓扑是一个服务网格可观测性工具,提供了查看服务行为的可视化界面。更多信息,请参见网格拓扑。
SLO
SLO(Service Level Objectives)是指服务等级的目标值或范围值,由一个或多个服务等级指标SLI组成。SLO提供了一种形式化的方式来描述、衡量和监控微服务应用程序的性能、质量和可靠性。SLO为应用开发和平台团队、运维团队提供了一个共享的质量基准,可作为衡量服务水平质量以及持续改进的参考。使用SLI组合定义的SLO能够帮助团队以更精确的方式描述服务健康状况。更多信息,请参见SLO管理。
OIDC
OIDC(OpenID Connect)是一种身份认证与授权的协议,通常用于实现单点登录(SSO)。更多信息,请参见在ASM网关中配置OIDC单点登录和在ASM安全策略中配置OIDC单点登录。
JWT
JWT(JSON Web Token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准RFC7519。JWT一般可以用作独立的身份验证令牌,可以包含用户标识、用户角色和权限等信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,特别适用于分布式站点的登录场景。更多信息,请参见RFC7519、在ASM中对服务进行JWT请求鉴权和在ASM中对入口网关进行JWT请求鉴权。