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 Auth,确保只能从经过严格身份验证和授权的客户端访问包含敏感数据的服务。
身份验证政策
Istio 的配置政策在服务器端配置平台身份验证,但不在客户端强制实施该政策,同时允许您指定服务的身份验证要求。
基于角色的访问权限控制 (RBAC)
Istio RBAC 为 Istio 网格中的服务提供命名空间级别、服务级别和方法级别的访问权限控制。它包括易于使用的基于角色的语义、服务到服务和最终用户到服务的授权,并在角色和角色绑定方面提供灵活的自定义属性支持。
双向 TLS 身份验证
Istio 可以增强微服务及其通信(包括服务到服务和最终用户到服务的通信)的安全性,且不需要更改服务代码。它为每个服务提供基于角色的强大身份机制,以实现跨集群、跨云端的交互操作。
密钥管理
Istio 的密钥管理系统可自动生成、分发、轮换与撤消密钥和证书。
后端抽象
Istio 的 Mixer 组件提供政策控制和遥测收集功能,将 Istio 的其余部分与各个基础架构后端的实现细节隔离开来。
中介
利用 Mixer,您可以精细控制网格和基础架构后端之间的所有交互。
低延迟
与位于网格内每个服务实例当中、必须节省内存占用的 Sidecar 代理不同,Mixer 独立运行,因此可以使用大得多的缓存和输出缓冲区,充当 Sidecar 的高度可扩缩且可用性高的二级缓存。
高可靠性
Mixer 的设计让每个 Mixer 实例都能提供高可用性。它的本地缓存和缓冲区可以减少延迟时间,还有助于屏蔽基础架构后端故障,即使后端没有响应也是如此。
分离流量管理和基础架构扩缩
通过将流量管理与基础架构扩缩分离,系统可提供独立于应用代码的多种功能,例如 A/B 测试所依赖的动态请求路由、逐步发布和 Canary 版本机制。此外,它还使用超时、重试和断路器来处理故障恢复,并使用故障注入来跨服务测试故障恢复政策的兼容性。
故障注入
配置有误的故障恢复政策可能会导致应用中的关键服务持续不可用,因此进行端到端故障恢复测试至关重要。Istio 可将特定于协议的故障注入到网络中,而无需终止 Pod、延迟或破坏 TCP 层的数据包。
负载平衡
Istio 目前允许使用 Envoy 支持的三种负载平衡模式:轮换(按轮换顺序选择运行状况良好的各个上游主机);随机(由随机负载平衡器随机选择一个运行状况良好的主机);以及加权最低请求数量。
随着微服务日渐成功,越来越多的工作负载开始采用微服务,想要始终清晰地了解哪一台主机运行了哪项微服务变得越来越困难。部署 Istio 之后,我们能立刻以一致的方式实时深入了解各项服务,获得分析数据,而不受构建服务时所用语言的影响。这种一致的可见性可帮助我们更快地解决问题,并改进我们服务的稳健性。
Tim Kelton,Descartes Labs 联合创始人

资源
浏览教程,启动快速入门,并查看评价。
集成
Apigee API Management for Istio
组织需要服务管理功能来管理微服务,同样,他们也需要 API 管理功能来管理其 API。通过将 API 管理功能原生扩展至微服务栈,Apigee API 管理平台可成为 Istio 的补充。