Istio介绍

Istio是用来连接,管理和保护微服务的平台。不改动应用代码,在环境中部署一个sidecar即可实现负载均衡,服务之间认证,监控等功能。Istio有控制面板,可以管理代理,拦截服务间通信。

Istio目前只支持在Kubernets(K8s)部署。

Istio可解决单体应用转型为分布式微服务架构时遇到的问题。Service mesh(服务网格)用于描述构成这些应用程序的微服务网络以及它们之间的交互。随着服务增多,服务越来越难管理,需要有服务发现,负载均衡,故障恢复,指标收集以及监控等需求。

Istio能监测并控制微服务,主要功能有:

  • 流量管理。控制服务间流量和API调用流向,使得服务在网络恶劣情况下稳定。

  • 可观察性。了解服务依赖关系,认清流量流向,快速识别问题。

  • 策略执行。将组织策略应用与服务之间的互动,确保访问策略得以执行,确保资源在消费者间良好分配。策略的修改通过配置网格,而不是修改应用代码。

  • 服务身份和安全。为网各种的服务提供可验证身份,提供保护服务流量的能力,使其可以在不同可信度的网络上流转。

  • 集成和定制。策略执行组建可扩展和定制,以便与ACL,日志,监控,配额,审核等解决方案集成。

极大减少应用代码和策略的耦合,便于运维和迁移。