istio 服务网格_什么是Istio? Kubernetes服务网格解释

istio 服务网格

微服务架构解决了一些问题,但引入了其他问题。 将应用程序划分为独立的服务可简化开发,更新和扩展。 同时,它为您提供了更多的运动部件以进行连接和固定。 管理所有网络服务(负载平衡,流量管理,身份验证和授权等)可能会变得异常复杂。

Kubernetes集群中服务之间的网络空间有一个统称: 服务网格 。 Google项目Istio旨在为您提供一种在群集变成混乱状态之前管理群集的服务网格的方法。

[InfoWorld解释: 什么是云原生? 开发软件的现代方法 | 入门: Azure云迁移指南 •教程: Google Cloud入门 | 通过InfoWorld的云计算新闻通讯了解云计算的最新发展。 ]

什么是服务网格?

对于任何一组联网的应用程序,都有许多常见的行为趋向于出现在它们周围。 例如,负载平衡:在少数情况下,一组网络服务不需要它。 同样,能够A / B测试服务的不同组合,或跨服务链设置端到端身份验证。 这些行为统称为服务网格。

管理服务网格不应该留给服务本身。 他们中没有人能自上而下地做某事,无论如何,这确实不应该是他们的工作。 最好有一个单独的系统,该系统位于服务和与之通信的网络之间。 该系统将提供两个关键功能:

  1. 避免服务本身不得不处理管理网络流量的烦恼—负载平衡,路由,重试等。
  2. 为管理员提供一个抽象层,使您可以轻松地制定有关群集中网络流量的高级决策-策略控制,指标和日志记录,服务发现,通过TLS进行的安全服务间通信等。

Istio服务网格组件

Istio通过为群集提供两个基础架构( 数据平面控制平面)来充当服务网格。

数据平面处理网格中服务之间的网络流量。 所有这些流量都被网络代理系统拦截和重定向。 在Istio的情况下,代理由一个名为Envoy的开源项目提供 数据平面中的第二个组件Mixer收集来自Envoy的遥测和统计信息以及服务到服务的流量。

控制平面是Istio的核心,负责管理和保护数据平面。 它同时配置Envoy代理和混合器,以强制执行服务的网络策略,例如谁可以与谁交谈,何时与谁交谈。 控制平面还为数据平面及其所有行为提供了编程抽象层。

其他三项Istio服务完善了组合:

Istio飞行员

Istio Pilot采用控制平面提供的流量行为规则,并将其转换为Envoy所应用的配置,具体取决于如何在本地进行管理。 Pilot允许Istio与Kubernetes之外的其他编排系统一起工作,但它们之间的行为保持一致。

Istio城堡

Citadel控制服务之间的身份验证和身份管理。

Istio·加利(Istio Galley)

Gallery接受Istio的用户指定配置,并将其转换为其他控制平面组件的有效配置。 这是允许Istio透明地使用不同业务流程系统的另一个元素。

Istio服务网格功能

Istio提供的第一个也是最有价值的好处是抽象—一种可以一臂之力处理服务网格复杂性的方法。 您可以通过命令Istio以编程方式对网格进行任何更改。 无需从内部对连接到网格的服务进行重新编程即可遵循新的网络策略或配额,并且它们之间的网络空间也无需直接接触。

此外,Istio允许您对群集的网络配置执行非破坏性或临时性的更改。 如果要整体或部分地推出新的网络布局,或者要针对新配置进行A / B测试当前配置,则Istio允许您以自上而下的方式进行操作。 如果发现这些更改不健康,还可以回滚这些更改。

第三个优点是可观察性。 Istio提供有关容器和群集节点之间发生的情况的详细统计信息和报告。 如果存在无法预料的问题,或者某些政策不遵守政策,或者您所做的更改最终适得其反,则可以在短时间内找到有关问题的信息。

Istio还提供了实现服务网格中常见模式的方法。 一个例子是断路器模式 ,这是一种防止服务在后端报告故障并且无法及时满足请求时被请求轰炸的方法。 Istio将断路器模式作为其策略执行标准库的一部分。

最后,尽管Istio与Kubernetes进行了最直接,最深入的合作,但它被设计为独立于平台。 Istio插入了Kubernetes自身所依赖的相同开放标准。 Istio还可以以独立方式在单个系统上或在其他编排系统(如Mesos和Nomad)上工作。

如何开始使用Istio

如果您已经有Kubernetes的经验,那么学习Istio的一种好方法是采用Kubernetes集群( 不是已经在生产中的集群 !), 并通过Helm图表在其上安装Istio 。 然后,您可以部署一个示例应用程序 ,以演示Istio的常见功能,例如智能交通管理遥测 。 在为应用程序集群部署Istio进行服务网格任务之前,这应该给您一些Istio的基础经验。

作为公司Kubernetes支持的OpenShift项目的一部分,红帽已对Istio进行了投资,该公司提供的教程将引导您逐步完成常见的Istio部署和管理方案

翻译自: https://www.infoworld.com/article/3328817/what-is-istio-the-kubernetes-service-mesh-explained.html

istio 服务网格

    原文作者:cxt70571
    原文地址: https://blog.csdn.net/cxt70571/article/details/107259419
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞