Istio

一个用于连接、监控和保护微服务的开放平台。

概述

Istio 是一个开源的独立服务网格,可为您成功运行分布式微服务架构提供所需的基础。随着各组织越来越多地采用云平台,开发者必须使用微服务设计架构以实现可移植性,而运营者必须管理包含混合和多云部署的大型分布式部署。Istio 采用一种一致的方式来保护、连接和监控微服务,降低了管理微服务部署的复杂性。

Istio 安全

减轻安全负担,让开发者可以专注于其他关键任务。

Istio 监控

借助强大可靠且易于使用的监控功能,快速有效地检测和修复问题。

Istio 连接

Istio 可在部署规模逐步扩大的过程中助您简化流量管理。

由于可以更清晰地查看应用的情况,因此当出现问题时,解决问题所需的时间得以显著缩短。使用 Istio on K8 让我们增强了信心,可以放心地将应用迁移到公有云,平台的可靠性、稳定性和性能也得以提升。

Russell Warman,Autotrader 基础架构主管
保障服务通信的安全

保障服务通信的安全

Istio 以可扩缩的方式管理微服务间通信的身份验证、授权和加密。Istio 提供基础的安全通信渠道,使开发者可以专注于应用级安全。

服务通信

安全通信

Istio 可以增强微服务及其通信(包括服务到服务和最终用户到服务的通信)的安全性,且不需要更改服务代码。它为每个服务提供基于角色的强大身份机制,以实现跨集群、跨云端的交互操作。

深度防御

深度防御

如果您结合使用 Istio 与 Kubernetes(或基础架构)网络政策,Pod 到 Pod 或服务到服务的通信在网络层和应用层都将安全无虞。Istio 以 Google 的深度防御策略为基础构建而成,以确保微服务通信的安全。当您在 Google Cloud 中使用 Istio 时,Google 的基础架构可让您构建真正安全的应用部署。

默认安全

默认安全

Istio 可确保服务通信在默认情况下是安全的,并且您可以跨不同协议和运行时一致地实施安全政策,而您只需对应用稍作调整,甚至无需调整。

日志记录

记录日志、监控并保持服务正常运行

Istio 通过跟踪、监控和记录日志帮您深入了解自己的服务网格部署。了解服务性能如何及其对其他进程的影响,快速有效地检测问题并对问题进行分类。

纵览全局

纵览全局

Istio 的自定义信息中心让您能够从宏观角度了解服务的行为,从而帮助您快速检测问题并有效地对问题进行分类。

了解服务

了解服务性能

通过 Istio 的监控功能,您可以了解服务性能如何影响上游和下游,从而更有效地设置、监控和实施服务的服务等级目标 (SLO)。

指标

随时获取所需的指标

可从任何正在运行的应用获取统一的指标和跟踪记录,而无需开发者手动对应用执行插桩 (Instrumentation) 操作。

流量管理

流量管理与政策控制

通过 Istio 流量管理功能,您可以控制服务之间的流量流动和 API 调用,还可以更好地了解流量,以便在问题出现之前发现其征兆。这使得调用更加可靠、网络更加强健,即使遇到不利状况也能稳如磐石。

轻松配置规则

轻松配置规则

借助 Istio,您能够配置断路器、超时和重试等服务级属性,并设置常见的持续部署任务,如 Canary 发布、A/B 测试和基于百分比拆分流量的分阶段发布。

引导内容

将内容引导至期望位置

您可以指定希望流量遵循的规则,以便将流量路由到各个服务版本,而无需受制于各个版本对应的实例数量。例如,您可以指定将所有流量的 5% 路由到特定的 Canary 版本,或者根据请求的内容将流量路由到特定版本。

故障恢复

开箱即用的故障恢复功能

强大的开箱即用故障恢复功能,包括超时、支持超时预算和变量抖动的重试机制、发往上游服务的并发连接和请求数限制、定期对负载平衡池中的每个成员进行的主动运行状况检查,以及被动运行状况检查(如细粒度断路器)。

Istio 安全功能

强大的服务身份验证

借助 Istio Auth,确保只能从经过严格身份验证和授权的客户端访问包含敏感数据的服务。

身份验证政策

Istio 的配置政策在服务器端配置平台身份验证,但不在客户端强制实施该政策,同时允许您指定服务的身份验证要求。

基于角色的访问权限控制 (RBAC)

Istio RBAC 为 Istio 网格中的服务提供命名空间级别、服务级别和方法级别的访问权限控制。它包括易于使用的基于角色的语义、服务到服务和最终用户到服务的授权,并在角色和角色绑定方面提供灵活的自定义属性支持。

双向 TLS 身份验证

Istio 可以增强微服务及其通信(包括服务到服务和最终用户到服务的通信)的安全性,且不需要更改服务代码。它为每个服务提供基于角色的强大身份机制,以实现跨集群、跨云端的交互操作。

密钥管理

Istio 的密钥管理系统可自动生成、分发、轮换与撤消密钥和证书。

Istio 监控功能

后端抽象

Istio 的 Mixer 组件提供政策控制和遥测收集功能,将 Istio 的其余部分与各个基础架构后端的实现细节隔离开来。

中介

利用 Mixer,您可以精细控制网格和基础架构后端之间的所有交互。

低延迟

与位于网格中的每个服务实例旁边并且必须节省内存使用的 Sidecar 代理不同,Mixer 独立运行,因此它可以使用相当大的缓存和输出缓冲区,充当 Sidecar 的高度可扩缩且高度可用的二级缓存。

高可靠性

Mixer 用于为每个 Mixer 实例提供高可用性。它的本地缓存和缓冲区可以减少延迟时间,还有助于屏蔽基础架构后端故障,即使后端没有响应也是如此。

Istio 连接功能

分离流量管理和基础架构扩缩

通过将流量管理与基础架构扩缩分离开来,系统可提供独立于应用代码的多种功能,例如 A/B 测试所依赖的动态请求路由、逐步发布和 Canary 版本机制。此外,它还使用超时、重试和断路器来处理故障恢复,并使用故障注入来跨服务测试故障恢复政策的兼容性。

故障注入

配置有误的故障恢复政策可能会导致应用中的关键服务持续不可用,因此进行端到端故障恢复测试至关重要。Istio 可将特定于协议的故障注入到网络中,而无需终止 Pod、延迟或破坏 TCP 层的数据包。

负载平衡

Istio 目前允许使用 Envoy 支持的三种负载平衡模式:轮换(按轮换顺序选择运行状况良好的各个上游主机);随机(由随机负载平衡器随机选择一个运行状况良好的主机);以及加权最低请求数量。

随着微服务日益流行,越来越多的工作负载开始采用微服务,想要始终清晰地了解谁运行了哪项微服务变得更加困难。部署了 Istio 后,我们就能立刻深入了解我们的服务,并获得一致的实时信息和分析数据,而不受构建服务时所用语言的影响。这种一致的可见性可帮助我们更快地解决问题,并改进我们服务的稳健性。

Tim Kelton,Descartes Labs 联合创始人

文档

资源

浏览教程,启动快速入门,并查看评价。

集成

Apigee API Management for Istio

组织需要服务管理功能来管理微服务,同样,他们也需要 API 管理功能来管理其 API。通过将 API 管理功能原生扩展至微服务堆栈,Apigee API 管理平台可成为 Istio 的有力补充。