术语表
E
- Envoy
Envoy 是在 Istio 里使用的高性能代理,用于为所有服务网格里的服务调度进出的流量。 了解更多关于 Envoy。
M
- Mixer
Mixer 是 Istio 里的一个组件,它负责加强服务网格里的访问控制和使用策略。它还负责收集来自 envoy 和其他服务的遥测数据。 了解更多关于 Mixer
- Mixer Handler
Mixer handler 相当于配置完备的 mixer 适配器。一个适配器二进制文件可以被不同配置使用,这些配置也可以称为 handler。在 mixer 运行时,mixer 将 mixer instance 路由到一个或多个 handler。
- Mixer Instance
一个 mixer instance 代表一组 mixer 数据,这些数据通过检查一组请求的属性和应用操作者提供的配置产生。Mixer instance 会被发送到对应的 mixer handler,并随之发送到基础设施后端服务。
P
- Pilot
Pilot 是 Istio 里的一个组件,它控制 Envoy 代理,负责服务发现、负载均衡和路由分发。
T
- TLS 源
TLS 源 (TLS origination) 出现在:当 Istio 代理(sidecar 或出口网关)配置为接受未加密的内部 HTTP 连接,加密请求,然后将它们转发到使用简单或相互 TLS 保护的 HTTPS 服务器时。 这与 TLS 终止相反,TLS 终止出现在一个入口代理接受 TLS 连接,解密这个连接,并将未加密的请求传递给内部网格服务。
双
- 双向 TLS 认证
双向 TLS 通过内置身份和凭证管理,提供强大的服务到服务身份验证。 了解更多关于双向 TLS 身份验证。
属
- 属性
属性控制着在网格里面运行的服务的运行时行为。属性是一堆有名字的、有类型的元数据,它们描述着入口和出口流量,以及这些流量存在的环境。一个 Istio 属性承载着一些特点的信息,比如 API 请求的错误码,或者一个 API 请求的耗时,又或者一个 TCP 连接的源 IP 地址,如下:
request.path: xyz/abc request.size: 234 request.time: 12:34:56.789 04/17/2017 source.ip: 192.168.0.1 destination.workload.name: example
属性在 Istio 的 策略与遥测特性里面会用到。
工
- 工作负载
工作负载是通过操作部署的二进制文件,用于在 Istio 里提供某种功能。工作负载有名字,命名空间和唯一的 id。工作负载的属性可以通过下面这些属性在策略和遥测配置功能里获取:
source.workload.name
,source.workload.namespace
,source.workload.uid
destination.workload.name
,destination.workload.namespace
,destination.workload.uid
在 Kubernetes里,一个工作负载通常对应一个 Kubernetes 的 deployment,然后一个工作负载的实例对应一个 deployment 管理的其中一个 pod。
- 工作负载实例
工作负载实例是工作负载的一个二进制实例化对象。一个工作负载实例可以开放零个或多个服务 endpoint,也可以消费零个或多个服务。
工作负载实例具有许多属性:
- 名称和命名空间
- 唯一的 ID
- IP 地址
- 标签
- 主体
通过访问 [
source.*
和destination.*
下面的属性],在 Istio 的策略和遥测配置功能中,可以用到这些属性。- 工作负载实例主体
工作负载实例名是工作负载实例的可验证权限。Istio 的服务到服务身份验证用于生成工作负载名。在默认情况下,工作负载名符合 SPIFFE ID 格式。
通过访问
source.principal
和destination.principal
属性,在策略和遥测配置中可以使用工作负载实例主体。
微
- 微分段
微分段是一种安全性技术,它通过在云部署里面创建安全区,使组织之间可以将工作负载彼此隔离,保证组织之间的安全性。
服
- 服务
服务是在服务网格里划定的一个行为相似的组。服务通过服务名进行标识,而且服务名在 Istio 的策略里(如负载均衡、路由等)会应用到。 一个服务通常有一个或多个服务 endpoint 实现,且会存在多个服务版本。
- 服务 Endpoint
服务 endpoint 是一个服务的网络可达表现形式。服务 endpoint 由工作负载实例暴露。并不是所有的服务都有服务 endpoint。
- 服务名
服务名是服务唯一的名字,是服务在服务网格里的唯一标识。 一个服务不应该被重命名,或者维护他的标识,每一个服务名都是唯一的。 一个服务有多个版本,但是服务名是与版本独立的。
- 服务操作者
- 服务注册表
Istio 维护了一个内部服务注册表 (service registry),它包含在服务网格中运行的一组服务及其相应的服务 endpoint。 Istio 使用服务注册表生成 Envoy 配置。 Istio 不提供服务发现,尽管大多数服务都是通过 pilot adapter 自动加入到服务注册表里的,而且这反映了底层平台(Kubernetes, Consul, plain DNS)的已发现的服务。 还有就是,可以使用
ServiceEntry
配置手动进行注册。- 服务消费者
服务消费者是使用服务的代理。
- 服务版本
服务版本区分服务的不同变形,通常由一个工作负载的不同版本支持。 多个服务版本使用的场景通常有 A/B 测试、金丝雀滚动发布等等。每一个服务都有一个默认的版本。
- 服务生产者
创建服务的代理。
- 服务网格