本文介绍服务网格所涉及的基本概念,以便于您更好地理解和使用 ASM。

托管服务网格(Managed Service Mesh)
由服务网格 ASM 创建并托管 Istio 的控制平面。具备简单、低成本、高可用、无需运维管理 Istio 控制平面的特点。
控制平面(Control Plane)
从架构设计上来看,Istio 服务网格逻辑上分为控制平面和数据平面两部分。控制平面负责管理和配置代理,从而实现路由流量。
数据平面(Data Plane)
数据平面由一组以 Sidecar 方式部署的智能代理(Envoy)组成,负责调节和控制微服务以及 Mixer 之间所有的网络通信。
命名空间(Namespace)
命名空间为 Kubernetes 集群提供虚拟的隔离作用。Kubernetes 集群初始有 3 个命名空间,分别是默认命名空间 default、系统命名空间 kube-system 和 kube-public,管理员可以创建新的命名空间以满足需求。
虚拟服务(Virtual Service)
作为 Istio 自定义资源之一,虚拟服务(VirtualService)定义了一系列针对指定服务的流量路由规则。每个路由规则都针对特定协议定义流量匹配规则。如果流量符合这些特征,就会根据规则发送到服务注册表中的目标服务(或者目标服务的子集或版本)。
目标规则(Destination Rule)
作为 Istio 自定义资源之一,目标规则(DestinationRule)定义了在路由发生后应用于服务的流量策略。这些规则指定负载均衡的配置、来自 Sidecar 代理的连接池大小以及异常检测设置,从而实现从负载均衡池中检测和驱逐不健康的主机。
Istio 网关(Gateway)
作为 Istio 自定义资源之一,Istio 网关(Gateway)定义了在网格出入口操作的负载均衡器,用于接收传入或传出的 HTTP/TCP 连接。它描述了需要公开的一组端口、要使用的协议类型、负载均衡器的 SNI 配置等信息。
服务条目(Service Entry)
作为 Istio 自定义资源之一,服务条目(ServiceEntry)是用于将一个服务添加到 Istio 抽象模型或服务注册表中,这些注册的服务是由 Istio 内部维护的。添加服务条目后,Envoy 代理可以将流量发送到该服务,如同这个添加的服务条目是网格中的其他服务一样。
入口网关服务(IngressGateway Service)
与 Istio 网关(Gateway)概念容易混淆的入口网关服务并不是指 Istio 自定义资源,而是指 Kubernetes 服务。它是真实的入口网关服务的抽象,后面由对应的容器来提供支持。通过ASM 创建一个入口网关服务时,会部署一个 Kubernetes 服务和 Deployment 资源到用户集群中。