Istio官网术语翻译 流量管理篇
Workload Selector
WorkloadSelector指定用于确定策略是否可以应用于代理的条件。匹配标准包括代理相关的元数据,工作负载信息比如Pod和VM附加的标签或者代理在握手期间提供给istio任何节点其他信息。如果指定了多个条件,为了选择工作负载实例,所有条件都需要匹配。当前支持基于标签的选择机制。
服务入口
Service entry允许将其他条目添加到istio的内部服务注册表中,以便网格中自动发现的服务可以访问/路由到这些手动指定的服务服务入口(DNS名,虚拟IP,端口,协议,端点)。这些服务可能在网格外部(Web API)或者不是在平台注册表部分中的mesh内部服务(例如,一组与Kubernetes中的服务对话的VM)。此外,服务入口的端点也可以通过使用的workloadSelector来动态选择的。能够同时选择pod和单个服务下的虚拟机允许通过迁移服务到Kubernetes,而不必更改与服务相关联的现有DNS名称。
目标规则
DestnationRule定义了在路由发生后应用于服务流量的策略。这个规则指定负载均衡的配置,sidecar中的连接池大小,要检测的异常值设置,从负载均衡池中逐出不健康的节点。
Envoy过滤器
EnvoyFilter提供了一种机制来自定义Istio Pilot生成的Envoy配置。通过EnvoyFilter修改某些字段的值,添加具体的过滤器,或者添加全新的监听器,集群等。必须小心的使用此功能,不正确的配置可能会破坏整个网格的稳定。不像其他istio的网络对象,EnvoyFilters是附加应用。对于特定命名空间中给定的负载,可以存在任意数量的EnvoyFilters。这个EnvoyFilter的应用顺序如下:root namespace中的所有EnvoyFilters,然后是工作负载namepsace中所有匹配的EnvoyFilter。
注1:这个API的某些方面与Istio网络子系统的内部实现和Envoy的XDS API有着很深的联系。而EnvoyFilterAPI本身保持向后兼容性,通过该机制提供的任何Envoy配置应该在istioIstio代理版本升级过程中自习监控,以确保删除和适当替换不推荐使用的字段。
注2:当多个EnvoyFilter在给定的namespace中同一个工作节点绑定了多个工作负载,所有的补丁豆浆按照创建时间的顺序处理。
注3:将EnvoyFilter字段应用于系统中所有工作负载(sidecar和网关)。在config root namespace中定义资源,不使用workloadSelector。
rootNamespace :此命名空间被视为Istio配置的管理根命名空间。在处理叶族命名空间时,istio将首先在该命名空间中搜索声明,如果没有找到,再根命名空间找到的任何匹配的声明都会在叶命名空间中声明一样进行处理。
这种精确语义记录在每个资源类型上
Workload Entry
工作负载入口使操作员能够描述单个非Kubernetes工作负载的属性,比如虚拟机或者裸机服务,(当他们被加入网格时)。工作负载入口必须附带Istio服务入口,通过适当的标签选择工作负载并为MESH_INTERNAL服务提供服务定义(主机名,端口配置,等)。一个 ServiceEntry 对象可以根据服务条目中指定的标签选择器选择多个工作负载条目和 Kubernetes Pod。
当工作负载链接到了istiod,自定义资源中的状态字段将会更新以指示工作负载的运行状况以及其他细节。类似于Kubernetes如何更新pod状态。
workload Group
工作负载组描述了一组工作负载实例集合。它提供了一个规范,工作负载实例可以使用该规范来引导其代理,包含元数据和身份。它仅用于虚拟机等非K8s工作负载,旨在模仿现有的sidecar注入,用于Kubernetes工作负载引导Istio代理的部署规范模型。
简单来说group是多个负载,workload是单个负载
proxyConfig
代理配置公开代理级别的配置选项。代理配置可以按工作负载进行配,基于每个命名空间。代理配置不是必要的资源;他有一些默认值,这些默认值与每个字段内联记录。
注意:代理配置中的字段不是动态配置,更改需要重启工作负载才能生效。
对于具有工作负载选择器的资源,每个工作负载只能由一个资源选择
ProxyConfig
资源主要用于定义Envoy代理的全局或命名空间级别的配置模板.Sidecar
资源则更加关注于服务间通信的细粒度控制,它定义了与特定服务(或服务集合)相关的Envoy代理的配置。
Sidecar
sidecar描述了sidecar代理的配置,他调节所连接的工作负载实例的入栈和出站流量。istio对网络中所有sidecar代理进行编程,以访问网格中每个工作负载的实例,除此之外接受工作负载相关联的所有端口上的流量。sidecar配置提供了一种微调端口集合的方式,代理将流量转发到工作负载和从工作负载转发流量时接受协议。当转发来自工作负载实例的出站流量时,可以限制代理可以到达的服务集。
网格中的服务和配置呗组织到一个或多个命名空间中(例如Kubernetes命名空间或CF组织空间)。命名空间中的Sidecar配置将应用于同一命名空间中的一个或多个工作负载实例,使用workloadSelector字段进行选择。在没有workloadselector的情况下,它将应用于同一命名空间中的所有工作负载实例,优先提供具有此工作负载的workloadSelector资源,在没有任何工作负载选择器的sidecar配置上。
注意1:每个命名空间可以只有一个sidecar配置,而没有任何指定该名称空间中所有Pod默认值的WorkSelector。建议对命名空间范围的sidecar使用默认名称。如果给定的命名空间中存在多个无选择器的Sidecar配置,则系统的行为是未定义的。如果带有workloadSelector的两个或多个Sidecar配置选择了相同的工作负载实例,则系统的行为是未定义的。
注意2:默认情况,meshConfig 根命名空间中的sidecar配置用于所有没有Sidecar设置的命名空间。此全局默认sidecar配置不应具有任何的WorkloadSelector
注意3:Sidecar不适用于网关,即时网关是istio代理。
网关
网管描述了边缘负载均衡操作接收传入或传出的HTTP/TCP连接。规范描述了一组应该公开的端口,要使用的协议类型,负载均衡器的SNI配置等。