Istio 简介

简介: 参加了一次公司内部会议,关注到了新兴技术istio,和 service mesh 有着牵扯。所以开始编写相关内容。

官方对 istio 的介绍浓缩成了一句话:

An open platform to connect, secure, control and observe services.

即:连接、安全加固、控制和观察服务的开放平台。
开放平台就是指它本身是开源的,服务对应的是微服务,也可以粗略地理解为单个应用。
中间的四个动词就是 istio 的主要功能,官方也各有一句话的说明。这里再阐释一下:

  • 连接(Connect):智能控制服务之间的调用流量,能够实现灰度升级、AB 测试和红黑部署等功能
  • 安全加固(Secure):自动为服务之间的调用提供认证、授权和加密
  • 控制(Control):应用用户定义的 policy,保证资源在消费者中公平分配
  • 观察(Observe):查看服务运行期间的各种数据,比如日志、监控和 tracing,了解服务的运行情况

NOTE:其实 istio 的源头是微服务,但这又是一个很宽泛的话题,目前可以参考文章很多很多。
首先来看 istio 官方给出的架构图:
微信截图_20220329093225.png
可以看到,istio 就是我们上述提到的 service mesh 架构的一种实现,服务之间的通信(比如这里的 Service A 访问 Service B)会通过代理(默认是 envoy)来进行,而且中间的网络协议支持 HTTP/1.1,HTTP/2,gRPC 或者 TCP,可以说覆盖了主流的通信协议。控制中心做了进一步的细分,分成了 Pilot、Mixer、和 Citadel,它们的各自功能如下:

  • Pilot:为 envoy 提供了服务发现,流量管理和智能路由(AB测试、金丝雀发布等),以及错误处理(超时、重试、熔断)功能。用户通过 pilot 的 API 管理网络相关的资源对象,pilot 会根据用户的配置和服务的信息把网络流量管理变成 envoy 能识别的格式分发到各个 sidecar 代理中。
  • Mixer:为整个集群执行访问控制(哪些用户可以访问哪些服务)和 policy 管理(rate limit,quota 等),并且收集代理观察到的服务之间的流量统计数据
  • Citadel:为服务之间提供认证和证书管理,可以让服务自动升级成 TLS 协议

代理会和控制中心通信,一方面可以获取需要的服务之间的信息,另一方面也可以汇报服务调用的 metrics 数据。知道 istio 的核心架构,再来看看它的功能描述就非常容易理解了。

  • 连接:控制中心可以从集群中获取所有服务的信息,并分发给代理,这样代理就能根据用户的期望来完成服务之间的通信(自动地服务发现、负载均衡、流量控制等)
  • 安全加固:因为所有的流量都是通过代理的,那么代理接收到不加密的网络流量之后,可以自动做一次封装,把它升级成安全的加密流量
  • 控制:用户可以配置各种规则(比如 RBAC 授权、白名单、rate limit 或者 quota 等),当代理发现服务之间的访问不符合这些规则,就直接拒绝掉
  • 观察:所有的流量都经过代理,因此代理对整个集群的访问情况知道得一清二楚,它把这些数据上报到控制中心,那么管理员就能观察到整个集群的流量情况了
相关文章
|
12月前
|
Kubernetes 监控 微服务
istio1.5安装-较之前版本有重大改进
istio1.5安装-较之前版本有重大改进
|
Kubernetes 安全 API
Istio安全架构(一)
Istio安全架构(一)
|
JSON Rust 安全
Istio Ambient Mesh Ztunnel实现剖析(1)配置解析
前言在Istio Ambient Mesh中,社区引入了名为ztunnel的新组件,ztunnel的名字来源于Zero-Trust Tunnel,即零信任管道,Ztunnel 旨在专注于Ambient Mesh中工作负载4层安全能力,例如 mTLS、身份验证、L4 授权,而无需进行七层流量解析。ztunnel 确保流量高效、安全地传输到负责七层处理的Waypoint Proxy或在对端无waypo
340 0
|
负载均衡 Kubernetes API
Istio:Gateway设计与实现
Istio:Gateway设计与实现
956 0
Istio:Gateway设计与实现
|
Kubernetes 测试技术 应用服务中间件
Istio简介及基于ACK安装Istio
了解服务网格开源产品Istio,使用阿里云ACK安装Istio过程
1087 2
|
2月前
|
Prometheus Kubernetes 网络协议
Istio 的配置分析
Istio 的配置分析
40 1
|
容器 微服务 Kubernetes
带你读《Istio入门与实战》之一:服务网格与Istio
本书系统化介绍Istio技术要点与应用技巧,可帮助读者快速搭建微服务架构并进行管理。主要内容包括:service mesh基本概念与使用,Istio架构设计与主要功能,快速搭建一个微服务实验,介绍如何让服务流量控制更简单,让服务更具弹性,让服务故障测试更容易,让服务通信更安全可控,让服务更易观测与监控,以及istio维护方案。本书内容丰富、案例讲解,实用性强,非常适合入门级读者快速掌握Istio技术。
|
2月前
|
安全 网络协议 API
Istio 安全(概念)
Istio 安全(概念)
57 0
|
10月前
|
Kubernetes Linux iOS开发
Istio1.12:安装和快速入门
Istio1.12:安装和快速入门
143 0
|
12月前
|
Kubernetes 监控 Go
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
202 0