词汇表

A | C | D | E | F | G | H | I | M | N | O | P | R | S | T | W | Z

A

Ambient

Ambient 模式是指一种 数据平面模式,它由每个节点和可选的每个命名空间组件组成。在 Ambient 模式下安装 Istio 时创建的网格可以称为 Ambient 网格。Ambient 模式是 Sidecar 模式 部署的替代方案。

注解

注解指的是附加到资源(例如 Pod)上的 Kubernetes 注解。有关有效 Istio 特定注解的列表,请参阅 资源注解

属性

属性控制网格中运行的服务的运行时行为。属性是描述入口和出口流量以及这些流量发生的环境的命名和类型化的元数据片段。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 的 策略和遥测 功能使用。

自动 mTLS

自动 mTLS 是 Istio 的一项功能,用于自动配置客户端代理,以便在客户端和服务器都能够处理双向 TLS 流量的连接上发送 双向 TLS 流量。如果客户端或服务器无法处理此类流量,Istio 将降级为明文。

C

集群

集群是一组运行容器化应用程序的计算节点。通常,构成集群的计算节点可以彼此直接通信。集群通过规则或策略限制外部访问。

CNI

容器网络接口 (CNI) 是 Kubernetes 用于配置集群网络的标准。它使用插件实现,插件有两种类型

  • 接口插件,用于创建网络接口,由集群操作员提供
  • 链式插件,可以配置已创建的接口,并且可以由安装在集群上的软件提供

Istio 可与遵循 CNI 标准的所有 CNI 实现配合使用,无论是在 sidecar 模式还是 ambient 模式下。

为了配置网格流量重定向,Istio 包含一个 CNI 节点代理。此代理安装一个链式 CNI 插件,该插件在所有已配置的 CNI 接口插件之后运行。

CNI 节点代理对于 sidecar 模式是可选的,对于 ambient 模式是必需的。

控制平面

控制平面是一组系统服务,用于配置网格或网格的子集,以管理其中工作负载实例之间的通信。

CRD

自定义资源定义 (CRD) 是默认 Kubernetes API 的扩展。Istio 使用 Kubernetes CRD API 进行配置,即使对于非 Kubernetes Istio 部署也是如此。

D

数据平面

数据平面是网格的一部分,它直接处理和路由工作负载实例之间的流量。

sidecar 模式下,Istio 的数据平面使用作为 sidecar 部署的 Envoy 代理来调解和控制网格服务发送和接收的所有流量。

ambient 模式下,Istio 的数据平面使用作为 DaemonSet 部署的节点级 ztunnel 代理来调解和控制网格服务发送和接收的所有流量。

数据平面模式

数据平面模式指的是 数据平面 使用的部署模式。Istio 目前支持三种模式:sidecar 模式ambient 模式无代理模式

目标

代表 工作负载Envoy 交互的远程 服务

E

eBPF

eBPF 是一种可以在特权上下文中(例如操作系统内核)运行程序的技术。它用于安全有效地扩展内核在运行时的功能,而无需更改内核源代码或加载内核模块。

Envoy

Istio 使用的高性能代理,用于调解 服务网格 中所有 服务 的入站和出站流量。 详细了解 Envoy

外部控制平面

外部控制平面是在其自己的 集群 或其他基础设施中运行的网格工作负载的外部管理的 控制平面。控制平面本身可能部署在集群中,尽管不在其控制的网格所属的集群之一中。其目的是将控制平面与网格的数据平面清晰地分离。

F

故障域

故障域是计算环境的物理或逻辑部分,当关键设备或服务出现问题时,该部分会受到负面影响。

对于 Istio 部署,故障域可以包含平台的多个可用区。

G

网关

网关是在网格边缘部署的独立 Istio 代理。网关用于将流量 路由到路由出 网格。

Istio Gateway CR 用于配置网关部署的公开端口。

网关 API

Kubernetes 网关 API 是 Kubernetes 中流量路由的配置 API。它代表了下一代 Kubernetes 入口、负载平衡和服务网格 API,并且设计时吸取了 Istio 传统 API 的经验教训。

H

HBONE

HBONE(或基于 HTTP 的覆盖网络环境)是 Istio 组件之间使用的安全隧道协议。详细了解 HBONE

I

身份

身份是安全基础设施的基本概念。Istio 身份模型基于一流的工作负载身份。在服务到服务通信的开始,双方交换包含其身份信息的凭据,以进行相互身份验证。

客户端根据其安全命名信息检查服务器的身份,以确定服务器是否有权运行该服务。

服务器检查客户端的身份,以确定客户端可以访问哪些信息。服务器根据配置的授权策略做出该决定。

使用身份,服务器可以审核信息访问时间以及特定客户端访问了哪些信息。他们还可以根据客户端使用的服务向客户端收费,并拒绝任何未能支付账单的客户端访问服务。

Istio 身份模型足够灵活和细粒度,可以表示人类用户、单个服务或一组服务。在没有一流服务身份的平台上,Istio 可以使用其他可以对服务实例进行分组的身份,例如服务名称。

Istio 在不同平台上支持以下服务身份

  • Kubernetes:Kubernetes 服务账户

  • GKE/GCE:GCP 服务账户

  • GCP:GCP 服务账户

  • AWS:AWS IAM 用户/角色账户

  • 内部部署(非 Kubernetes):用户账户、自定义服务账户、服务名称、Istio 服务账户或 GCP 服务账户。自定义服务账户指的是现有的服务账户,就像客户的身份目录管理的身份一样。

注入

注入或 sidecar 注入指的是使用 变异 Webhook 在创建时修改 Pod 规范。

注入可用于为网格服务添加 Envoy sidecar 配置,或配置 网关 的 Envoy 代理。

有关更多信息,请参阅 安装 sidecar

IO

请参阅 Istio Operator 自定义资源

IOP

请参阅 Istio Operator 自定义资源

Istio Operator 自定义资源

Istio Operator 自定义资源(通常使用简写形式 IOPIO 引用)是在使用 istioctl install 命令或集群内操作符安装时用于配置 Istio 安装的自定义资源。

Istiod

Istiod 组件是集成的控制平面二进制文件,它封装了 Pilot、Galley、Citadel 和 sidecar 注入器的功能。

详细了解 Istiod.

M

托管控制平面

托管控制平面是云提供商为其客户管理的 外部控制平面。托管控制平面降低了用户部署的复杂性,并且通常保证一定程度的性能和可用性。

网格联邦

网格联邦是指在不同网格之间公开服务并启用跨网格边界的通信的行为。每个网格可以公开其服务的一个子集,以使一个或多个其他网格能够使用公开的服务。您可以使用网格联邦启用多网格部署中的网格之间的通信。

微分段

微分段是一种安全技术,它在云部署中创建安全区域,并允许组织将工作负载彼此隔离并分别保护它们。

多网格

多网格是一种部署模型,由两个或多个服务网格组成。每个网格都具有独立的命名和身份管理,但您可以通过网格联邦在网格之间公开服务。最终的部署是一个多网格部署。

多集群

多集群是一种部署模型,由一个具有多个集群网格组成。

双向TLS认证

双向TLS通过内置的身份和凭证管理提供强大的服务到服务的认证。了解有关双向TLS认证的更多信息

N

命名空间一致性

在多集群网格中,命名空间一致性适用,并且所有具有给定名称的命名空间都被视为相同的命名空间。如果多个集群包含具有相同命名空间名称的Service,则它们将被识别为单个组合服务。默认情况下,对于给定的服务,流量将在网格中的所有集群之间进行负载均衡。

数字上匹配的端口也必须具有相同的端口名称才能被视为组合的服务端口

网络

Istio使用基于通用连接性的简化网络定义。工作负载实例如果能够直接通信(无需网关),则位于同一网络中。

O

操作符

操作符是一种打包、部署和管理Kubernetes应用程序的方法。有关更多信息,请参见操作符模式

P

Pilot

Istio组件,用于对Envoy代理进行编程,负责服务发现、负载均衡和路由。

Pod

Pod是一组一个或多个容器(例如Docker容器),具有共享存储和网络,以及如何运行容器的规范。Pod是Istio在Kubernetes部署中的工作负载实例

主集群

主集群是具有控制平面集群。单个网格可以有多个主集群,以实现高可用性或减少延迟。主集群可以充当远程集群的控制平面。

无代理

无代理指的是一种数据平面模式,它通过将网格功能直接移入应用程序来运行,而无需代理。目前,Istio支持无代理gRPC模式,该模式可以在gRPC框架中启用网格功能。

R

远程集群

远程集群是连接到驻留在集群外部的控制平面集群。远程集群可以连接到在主集群中运行的控制平面或连接到外部控制平面

路由规则

路由规则(您在虚拟服务中配置)定义请求在服务网格中遵循的路径。使用路由规则,您可以定义条件,将发送到虚拟服务主机上的流量路由到特定的目标工作负载。路由规则允许您控制流量以执行诸如A/B测试、金丝雀发布和分阶段发布等任务,并使用基于百分比的流量拆分。

S

安全L4覆盖

术语“安全覆盖”或“安全L4覆盖”用于统称通过ztunnel代理在环境网格中实现的L4网络功能集。在传输层,这是通过称为HBONE的基于HTTP CONNECT的流量隧道协议实现的。

安全命名

提供服务名称与授权运行实现服务工作负载实例工作负载实例主体之间的映射。

服务

服务网格中一组相关的行为。服务使用服务名称标识,并且Istio策略(如负载均衡和路由)使用这些名称应用。服务通常由一个或多个服务端点具体化,并且可能包含多个服务版本

服务使用者

使用服务的代理。

服务端点

服务的网络可达体现。工作负载实例公开服务端点,但并非所有服务都具有服务端点。

服务网格

服务网格或简称网格是一个基础设施层,它能够在工作负载实例之间实现受管理的、可观察的和安全的通信。

服务名称与命名空间的组合在网格内是唯一的。例如,在多集群网格中,cluster-1foo命名空间中的bar服务被认为与cluster-2foo命名空间中的bar服务是同一个服务。

由于身份在服务网格内共享,因此工作负载实例可以与同一服务网格内的任何其他工作负载实例进行身份验证通信。

服务名称

服务网格中唯一标识服务的名称。服务在保持其身份的同时不能重命名。服务可能有多个版本,但服务名称与版本无关。

服务操作符

通过操作配置状态并通过各种仪表板监控服务的运行状况,在服务网格中管理服务的代理。

服务提供者

创建服务的代理。

服务注册表

Istio维护一个内部服务注册表,其中包含服务网格中运行的服务及其对应的服务端点集。Istio使用服务注册表生成Envoy配置。

Istio不提供服务发现,尽管大多数服务会由反映底层平台(Kubernetes、Consul、普通DNS)已发现服务的Pilot适配器自动添加到注册表中。还可以使用ServiceEntry配置手动注册其他服务。

服务版本

服务的不同变体,通常由工作负载二进制文件的不同版本支持。使用多个服务版本的一些常见场景包括A/B测试和金丝雀发布。

Sidecar

从广义上讲,边车是一个与主应用程序一起运行的容器,以提供其他功能。在Istio中,边车模式是一种数据平面模式,它在每个Pod旁边运行Envoy代理。

Envoy代理的下游客户端。在服务网格中,源通常是工作负载,但入口流量的源可能包括其他客户端,例如浏览器或移动应用程序。

SPIFFE

每个人安全生产身份框架(SPIFFE)项目定义了一个框架和一组标准,用于识别和保护基于Web的服务之间的通信。

了解有关SPIFFE的更多信息.

T

TLS发起

当Istio代理(边车或出口网关)配置为接受未加密的内部HTTP连接、加密请求,然后将它们转发到使用简单或双向TLS保护的HTTPS服务器时,就会发生TLS发起。这与TLS终止相反,在TLS终止中,入口代理接受传入的TLS连接,解密TLS并将未加密的请求传递给内部网格服务。

信任域

信任域对应于系统的信任根,并且是工作负载身份的一部分。

Istio使用信任域在网格内创建所有身份。例如,在spiffe://mytrustdomain.com/ns/default/sa/myname中,子字符串mytrustdomain.com指定工作负载来自名为mytrustdomain.com的信任域。

只要集群共享相同的信任根,您可以在多集群网格中拥有一个或多个信任域。

信任域迁移

更改Istio网格的信任域的过程。

W

航点

航点是环境模式中的第7层代理组件。航点通常在每个命名空间的基础上运行,并处理进入该命名空间的所有流量。

工作负载

操作符部署的二进制文件,以提供服务网格应用程序的某些功能。工作负载具有名称、命名空间和唯一ID。这些属性在策略和遥测配置中使用以下属性可用

  • source.workload.namesource.workload.namespacesource.workload.uid
  • destination.workload.namedestination.workload.namespacedestination.workload.uid

在Kubernetes中,工作负载通常对应于Kubernetes部署,而工作负载实例对应于部署管理的单个Pod

工作负载实例

工作负载二进制文件的单个实例。工作负载实例可以公开零个或多个服务端点,并且可以消费零个或多个服务

工作负载实例具有一些属性

  • 名称和命名空间
  • 唯一 ID
  • IP 地址
  • 标签
  • 主体

这些属性可通过许多source.*destination.* 属性在策略和遥测配置中使用。

工作负载实例主体

工作负载实例运行的 可验证授权方。Istio 的服务到服务身份验证用于生成工作负载主体。默认情况下,工作负载主体符合 SPIFFE ID 格式。

工作负载实例主体可通过 source.principaldestination.principal 属性在策略和遥测配置中使用。

Z

ztunnel

Ztunnel 指的是环境数据平面模式的节点代理组件。Ztunnel 在每个节点上运行,并使用HBONE协议安全地传输流量。

有关更多详细信息,请参阅环境数据平面文档