Istio资源类型
Istio 资源类型
流量治理
资源类型 | 描述 |
---|---|
DestinationRule(目标规则) | 目标规则是服务治理中重要的组成部分,目标规则通过端口、服务版本等方式对请求流量进行划分,并对各请求分流量订制 Envoy 流量策略,应用到流量的策略不仅有负载均衡,还有最小连接数、离群检测等 |
EnvoyFilter | 该资源提供了对 Envoy 配置的能力,可以定义新的过滤器、监听器 集群等。使用该资源时需谨慎,错误配置可能会对整个网格环境的稳定性造成较大影响。 注意: (1)EnvoyFilter 可以配置在 Istio 根目录(对所有工作负载生效)或某个工作负载(使用工作负载选择标签); (2)当多个 EnvoyFilter 作用于同一个工作负载时,会按创建顺序优先执行; |
Gateway(网关规则) | 网关规则用于定义网格边缘的负载均衡器,用于将服务暴露于网格之外,或提供内部服务的对外访问。相较于 k8s 的 ingress 对象,istio 的网关规则增加了更多的功能: (1)L4-L6 负载均衡 (2)对外 mTLS (3)SNI 的支持 (4)其他 istio 中已经实现的内部网络功能: Fault Injection,Traffic Shifting, Circuit Breaking, Mirroring 对于 L7 的支持,网关规则通过与虚拟服务配合实现。 |
ProxyConfig | 用于暴露代理的配置选项,例如:代理的线程数。该资源为可选资源,如不创建,系统将使用内建默认值; 注意: (1)ProxyConfig 中任何配置变更需要重启相关工作负载才会生效; (2)作用于网格或命名空间的 ProxyConfig 不可以包含任何工作负载选择标签,否则将仅作用于选定的工作负载; |
WorkloadEntry | 该资源提供了对非 k8s 标准工作负载的描述,例如:运行于虚拟机的工作负载。WorkloadEntry 需要与服务条目配合使用,由服务条目通过筛选器建立服务与工作负载之间的对应关系; |
ServiceEntry(服务条目) | 服务条目允许向 Istio 的内部服务注册表中添加其他条目,以便网格中自动发现的服务可以访问/路由到这些手动指定的服务。服务条目描述服务的属性包括:DNS 名称、VIP、端口、协议、端点等。这些服务可以是网格外部的(例如:web API)或网格内部无法自动注册的服务(例如:一个数据库,几个 VM) |
SideCar | Sidecar 用于描述边车对工作负载实例之间的流量转发配置。默认情况下,Istio 将支持转发网格中所有工作负载实例之间的通信,并接受与工作负载相关的所有端口流量。 注意: (1)根命名空间下的 SideCar 对所有没有配置 SideCar 的命名空间及工作负载生效; (2)任意命名空间或工作负载如果存在多个 SideCar,将被定义为行为未定义(无生效资源); |
VirtualService(虚拟服务) | 在虚拟服务中,提供了 HTTP、TCP、TLS 三种协议的路由支持,可以通过多种匹配方式(端口、host、header 等)实现对不同的地域、用户请求做路由转发,分发至特定的服务版本中,按权重比划分负载,并提供了故障注入、流量镜像等多种治理工具 |
WorkloadGroup | WorkloadGroup 描述了工作负载实例的集合,定义了工作负载实例引导代理的规范细节,包括元数据和标识。WorkloadGroup 仅用于非 Kubernetes 工作负载,模拟 Kubernetes 中边车注入和部署方式,引导 Istio 代理 |
安全治理
Istio 的安全功能:
- 双向 TLS 支持
- 基于黑白名单的访问控制
- 基于角色的访问控制
- JWT 认证支持
资源类型 | 描述 |
---|---|
AuthorizationPolicy(授权策略) | 授权策略类似于一种四层到七层的“防火墙”,它会像传统防火墙一样,对数据流进行分析和匹配,然后执行相应的动作。无论是来自外部的请求,或是网格内服务间的请求,都适用授权策略 |
PeerAuthentication(对等身份认证) | 对等身份认证提供服务间的双向安全认证,同时密钥以及证书的创建、分发、轮转也都由系统自动完成,对用户透明,从而大大降低了安全配置管理的复杂度 |
RequestAuthentication(请求身份认证) | 请求身份认证用于外部用户对网格内部服务发起请求的认证,用户使用 jwt 实现请求加密;每个请求身份认证需要配置一个授权策略 |
代理扩展
资源类型 | 描述 |
---|---|
WasmPlugin | WasmPlugin 通过 WebAssembly 过滤器为 Istio 代理提供扩展功能,其提供的过滤器能力可以和 Istio 内部过滤器形成复杂交互关系 |
系统设置
资源类型 | 描述 |
---|---|
Telementry | 该资源定义了如何为网格内的工作负载生成遥测,为 Istio 提供了指标、日志、全链路追踪三项可观测性工具的配置 注意:创建在 Istio 根目录并且不包含工作负载选择器的遥测资源将对网格全局生效 |