[Istio是什么?] 还不知道你就out了,一文40分钟快速理解

前言

这篇文章属于纯理论,所含内容如下,按需阅读:

  • Istio概念、服务网格、流量管理、istio架构(Envoy、Sidecar 、Istiod)
  • 虚拟服务(VirtualService)、路由规则、目标规则(DestinationRule)
  • 网关(Gateway)、网络弹性和测试(超时、重试、熔断器、故障注入)


Istio是什么?

  • Istio是一个开源的服务网格,透明的接入到分布式服务中。它也是一个平台,集成任何日志、遥测和策略系统的 API 接口。

  • Istio 成功高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法。

  • Istio 有助于降低 DevOps 压力、开发团队的压力。

服务网格是什么?

用来描述组成微服务应用程序、微服务网络以及它们之间的交互。

  • 组成微服务网络
  • 实现服务之间的交互
应用场景
  • 服务发现、负载均衡、故障恢复、度量和监控
  • A/B 测试、金丝雀发布、速率限制、访问控制和端到端认证
为什么使用Istio?

服务网格是通过sidecar(边车)代理服务实现,控制平面主要是对sidecar的配置和管理,这包括:

  • HTTP、gRPC、WebSocketTCP 流量自动负载均衡。
  • 通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制。
  • 可插拔的策略层和配置 API,支持访问控制、速率限制和配额
  • 集群内(包括集群的入口和出口)所有流量的自动化度量、日志记录追踪
  • 在具有强大的基于身份验证和授权的集群中实现安全的服务间通信。

Istio还支持扩展,满足你部署需求!


流量管理介绍

  • Istio流量路由规则可以很容易的控制服务之间的流量API调用。能实现A/B测试、金丝雀发布、基于流量百分比发布。

  • 开箱即用的故障恢复特性,有助于增强应用的健壮性,从而更好地应对被依赖的服务或网络发生故障的情况。

  • Istio 的流量管理由Envoy代理服务提供。网格内服务发送和接收的所有流量都由 Envoy 代理处理,让控制网格内的流量变得异常简单,不需要对服务做更改。

为了在网格中导流,Istio 需要知道 endpoint 在哪和属于哪个服务。为了定位到service registry(服务注册中心),Istio 会连接到一个服务发现系统。例如,如果您在 Kubernetes 集群上安装了 Istio,那么它将自动检测该集群中的服务和 endpoint(端点)。

使用此服务注册中心,Envoy 代理可以将流量定向到相关服务。大多数基于微服务的应用程序,每个服务的工作负载都有多个实例来处理流量,称为负载均衡池。默认情况下,Envoy 代理基于轮询调度在服务的负载均衡池内分发流量,按顺序请求发送给池中每个成员,一旦所有服务实例均接收过一次请求后,重新回到第一个池成员。

这些 API 也使用 Kubernetes 的自定义资源定义(CRDs)来声明,可以使用 YAML 进行配置


istio架构

Istio 服务网格 逻辑上分为数据平面控制平面

  • 数据平面:Envoy代理被部署为sidecar,负责协调和控制微服务之间的通信,收集和报告所有网格流量的遥测数据。

  • 控制平面:管理并配置Envoy代理
    在这里插入图片描述

Envoy
  • C++ 开发的高性能代理,用于协调服务网格中所有服务的入站和出站流量。Envoy 代理是唯一与数据平面流量交互的 Istio 组件。

Envoy 代理被部署为服务的 Sidecar,在逻辑上为服务增加了 Envoy 的许多内置特性,例如:

  • 动态服务发现
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋意零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值