什么是 Istio?

Istio 是一个开源服务网格,它透明地层叠在现有的分布式应用程序之上。Istio 的强大功能提供了一种统一且更高效的方式来保护、连接和监控服务。Istio 是负载均衡、服务到服务身份验证和监控的途径 - 几乎无需或无需对服务代码进行更改。它为您提供

  • 在集群中使用双向 TLS 加密、基于身份的强认证和授权实现安全的服务间通信
  • 针对 HTTP、gRPC、WebSocket 和 TCP 流量进行自动负载均衡
  • 使用丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制
  • 可插拔的策略层和配置 API,支持访问控制、速率限制和配额
  • 为集群内所有流量(包括集群入口和出口)自动收集指标、日志和跟踪

Istio 设计为可扩展的,可以处理各种部署需求。Istio 的 控制平面运行在 Kubernetes 上,您可以将部署在该集群中的应用程序添加到您的网格中,将网格扩展到其他集群,甚至 连接运行在 Kubernetes 之外的 VM 或其他端点

庞大的贡献者、合作伙伴、集成和分销商生态系统扩展并利用 Istio 用于各种场景。您可以自行安装 Istio,或者 众多供应商 提供集成 Istio 并为您管理它的产品。

工作原理

Istio 使用代理拦截所有网络流量,根据您设置的配置提供广泛的应用程序感知功能。

控制平面获取您所需的配置及其对服务的视图,并动态地对代理服务器进行编程,并在规则或环境发生变化时更新它们。

数据平面是服务之间的通信。如果没有服务网格,网络将无法理解发送的流量,也无法根据流量类型、来源或目标做出任何决策。

Istio 支持两种数据平面模式

  • 边车模式,在集群中启动的每个 Pod 旁边部署 Envoy 代理,或者与运行在 VM 上的服务一起运行。
  • 环境模式,使用每个节点的第 4 层代理,并可选地使用每个命名空间的 Envoy 代理来实现第 7 层功能。

了解如何选择适合您的模式.

这些信息对您有帮助吗?
您有什么改进建议吗?

感谢您的反馈!