Istio

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

概览

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

Istio 安全

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

Istio 监控

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

Istio 连接

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

由于可以更清晰地查看应用的情况,因此一旦发生问题,您就可以显著缩短解决问题所占用的时间。在 K8 上利用 Istio 让我们加强了信心,放心地将应用迁移到公共云,并提高平台的可靠性、稳定性和性能。

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 联合创始人

文档

将 Istio 与 Compute Engine 配合使用

将 Compute Engine 虚拟机集成到部署在 Kubernetes Engine 上的 Istio 网格中。

Istio 代码库

为开源代码库贡献力量,帮助 Istio 变得更好。

资源

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

下载最新的 Istio 版本

适用于 Kubernetes、Nomad + Consul 以及 Eureka 的 Istio 快速入门

了解如何为 Google Cloud Endpoints 服务设置 Istio

部署示例应用,详细了解 Istio 服务网格

随时了解最新的 Istio 功能

有关命令行和配置选项的详细信息

集成

Enterprise Support for Istio

Google Cloud 为本地和非 GCP 云端部署提供 Enterprise Support for Istio 服务。支持级别多种多样,您可灵活选择。支持产品包括可用于测试 Kubernetes 配置的 Google 认证映像、虚拟机安装、维护服务等。其他选项包括 Google Cloud 专家提供的专业服务。

Apigee API Management for Istio

一旦微服务需要与外部的合作伙伴或客户进行通信,或者与内部的其他业务群组进行通信,它们就成为了 API。Google Cloud 提供 Apigee API Management for Istio 服务,可实现 API 管理与微服务的原生集成。借助 Apigee,无论 API 位于云端还是本地,组织都可以安全地管理和监控它们。