什么是Istio? 为什么使用Istio?

举报
Jet Ding 发表于 2020/09/29 10:58:37 2020/09/29
【摘要】 云平台为使用云平台的企业提供了大量的好处。然而,不可否认的是,采用云会给DevOps团队带来压力。开发人员必须使用微服务来解决可移植性,同时运营商要管理极其庞大的混合云和多云部署。Istio让你可以连接、控制和观察这些微服务并确保其安全性。 在高层次上,Istio有助于降低这些部署的复杂性,并减轻你的开发团队的压力。它是一个完全开源的服务网状结构,可以透明地分层到现有的分布式应用上。它也是一...

云平台为使用云平台的企业提供了大量的好处。然而,不可否认的是,采用云会给DevOps团队带来压力。开发人员必须使用微服务来解决可移植性,同时运营商要管理极其庞大的混合云和多云部署。Istio让你可以连接、控制和观察这些微服务并确保其安全性。 

在高层次上,Istio有助于降低这些部署的复杂性,并减轻你的开发团队的压力。它是一个完全开源的服务网状结构,可以透明地分层到现有的分布式应用上。它也是一个平台,包括API,让它集成到任何日志平台,或遥测系统,或者策略系统。Istio多样化的功能集可以让你成功地、高效地运行分布式微服务架构,并提供统一的方式来保护、连接和监控微服务。

 

1      什么是服务网格? 

Istio解决了开发人员和运营商在单体应用程序向分布式微服务架构过渡时面临的挑战。要想知道是如何做到的,详细了解一下Istio的服务网状结构是有帮助的。 

术语service mesh用于描述构成此类应用的微服务网络以及它们之间的交互。随着服务网状结构的规模和复杂性的增加,它可能会变得更加难以理解和管理。它的需求可以包括发现、负载均衡、故障恢复、指标和监控。一个服务网状结构还经常有更复杂的操作要求,如A/B测试、金丝雀版本推出、速率限制、访问控制和端到端认证。

Istio提供对服务网状结构整体的行为洞察和操作控制,提供了完整的解决方案来满足微服务应用的多样化需求。

 

2      为什么使用Istio

Istio可以轻松地创建一个具有负载均衡、服务到服务认证、监控等功能的部署服务网络,而只需对服务代码进行少量或不进行代码修改。您可以通过在整个环境中部署一个特殊的sidecar代理,将Istio支持添加到服务中,该代理可以拦截微服务之间的所有网络通信,然后使用其控制平面功能配置和管理Istio,其中包括:

l  HTTPgRPCWebSocket  TCP 流量的自动负载均衡。

l  通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行精细控制。

l  可插拔的策略层和配置 API,支持访问控制、速率限制和配额。

l  集群内所有流量的自动度量、日志和跟踪,包括集群入口和出口。

l  在具有强大的基于身份认证和授权的集群中进行安全的服务对服务通信。

 

Istio是针对可扩展性而设计的,可以满足多样化的部署需求。它通过拦截和配置Mesh流量来实现,如下图所示:

image.png

3      核心功能 

Istio在整个服务网络中统一提供一些关键功能。

 

3.1    流量管理 

Istio简单的规则配置和流量路由让你可以控制服务之间的流量和API调用。Istio简化了服务级属性的配置,如断路器、超时和重试,并使设置A/B测试、"金丝雀 "版本推出和基于百分比的流量分割的分期版本推出等重要任务变得轻而易举。

通过更好地了解您的流量,以及开箱即用的故障恢复功能,您可以在问题发生之前发现问题,使呼叫更可靠,网络更稳健 

 

3.2    安全性 

Istio的安全能力使开发人员可以自由地专注于应用层面的安全。Istio提供了底层安全通信通道,并大规模地管理服务通信的认证、授权和加密。有了Istio,服务通信在默认情况下是安全的,让您可以在不同的协议和运行时一致地执行策略--所有这些都只需要很少或根本不需要更改应用程序。 

虽然Istio是独立于平台的,但将其与Kubernetes(或基础设施)网络策略一起使用,其好处甚至更大,包括在网络层和应用层保护podpod或服务到服务通信的能力。

 

3.3    可观察性 

Istio强大的跟踪、监控和日志功能让您深入了解您的服务网状部署。通过Istio的监控功能,您可以真正了解服务性能如何影响上游和下游的事情,而其自定义的仪表盘可以为您所有服务的性能提供可见性,并让您了解该性能如何影响您的其他流程。 

所有这些功能都可以让你更有效地设置、监控和执行服务的SLO。当然,最重要的是,您可以快速有效地检测和修复问题。

 

3.4    平台支持

Istio是独立于平台的,设计用于运行在各种环境中,包括跨越云、内部部署、KubernetesMesos等环境。你可以在Kubernetes上部署Istio,也可以在NomadConsul上部署。Istio目前支持:

l  Kubernetes上部署服务

l  Consul登记的服务

l  在单个虚拟机上运行的服务

 

3.5    整合和定制 

Istio的策略执行组件可以进行扩展和定制,以便与现有的ACL、日志记录、监控、配额、审计等解决方案进行整合。

 

4      参考

https://istio.io/docs/concepts/what-is-istio/

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。