ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Istio读书笔记-02

2021-10-05 12:35:05  阅读:120  来源: 互联网

标签:02 服务 读书笔记 Envoy envoy Istio 流量 代理


《Istio实战指南》 by 马若飞 2019年9月第1版

---

 

索引

核心控件:Envoy、Pilot、Mixer、Citadel、Galley

主要功能:流量管理、策略和遥测、可视化、安全

 

Istio追求尽可能的透明,通过 各种解耦设计 让系统对内对外都没有依赖,还提供 高度的扩展性。

Istio 应用的增长和服务的增多,扩展策略系统 是 最主要的需求,以增量的方式进行扩展。

数据平面、控制平面分离

各个组件都成为插件

开放和包容的设计思路

 

核心控件:Envoy、Pilot、Mixer、Citadel、Galley

1、Envoy

Istio数据平面 就是 代理。

Envoy作为 Sidecar代理。

一个为面向服务的框架而设计的7层代理和 通信总线,基于C++11。

将流量行为和数据提取出来发送给Mixer组件。

主要功能:

http 7层路由

grpc、http/2

服务发现 和 动态配置

健康检查

高级负载均衡

英文:n.  使节,使者; 代表;

2、Pilot

实现流量管理的核心组件。

主要作用:配置和管理envoy代理。

设置代理之间特定的流量规则,配置超时、重试、熔断等。

流量行为的路由规则 转换为 envoy配置 广播到envoy

把服务发现机制抽象出来 并转换成API分发给envoy

主要任务:

从平台(如K8S)获取服务信息,完成服务发现;

获取istio的各项配置,转换成envoy代理可读的格式并分发。

Rules API

流量规则

Envoy API

动态更新LB 和 路由表的API

3、Mixer

主要功能:提供策略控制,并从envoy代理 收集 遥测数据。

每次网络通信时,envoy代理 都会向 mixer发出 预检要求,用来监测调用者的合法性。

调用后,envoy代理 会发送 遥测数据 提供mixer收集。

一般情况下 Sidecar代理 会缓存数据。

适配器 是 重要组成部分,插件模型。

部分适配器API:日志后端、限额后端、授权后端、遥测后端

自定义适配器

4、Citadel

与安全相关的组件,主要负责 密钥和证书管理。

提供 服务间和终端用户的身份认证,

加密服务网格中的流量。

英文:n.  城堡,要塞; 大本营,根据地,避难所; (军舰上的)炮廓;

5、Galley

2019年3月发布的1.1版本中。

istio主要的 配置管理组件,负责 配置的获取、处理和分发。

MCP(Mesh Configuration Protocol,网格配置协议)

英文:n.  单层甲板大帆船; 军舰舰长用的大划艇; (船舰,飞机上的)厨房; 活版盘,长条校样;

---

 

主要功能:流量管理、策略和遥测、可视化、安全

1、流量管理

服务间通信》流量管理

金丝雀发布

传统:LB、Nginx、权重、对流量的管理和基础设施绑定到一起、难以维护

istio:轻松实现 各种维度的流量控制

Pilot + Envoy组件实现:将流量 和 基础设施解耦

pilot配置规则

envoy按照规则执行各种流量管理功能

功能:动态请求路由、超时、重试、熔断,故障注入-测试容错

具体功能:请求路由、入口网关(Ingress)和出口网关(Egress)、服务发现和LB、故障处理、故障注入

K8S提供了 服务注册的能力,Istio基于平台实现服务发现和LB。

envoy一整套故障处理机制:超时、重试、限流、熔断(限额呢?)

故障注入:在系统中认为地设置一些故障,来测试系统的稳定性和系统恢复的能力。Istio支持2种:延迟、中断。

Envoy的LB池

2、策略和遥测

策略:限流(调用频率、速率限制)、白名单和黑名单

Istio依靠 mixer完成。

预先检查

指标数据的采集和和汇总——遥测功能

遥测:Telemetry,从远程设备中收集数据

各种指标(metric)数据,BI数据分析

Envoy代理 发送数据给 Mixer

接入不同的后端设置作为适配器:日志分析系统、监控系统

3、可视化

没有完备的、可观察的监控系统就无法保障系统的稳定性。

监控、追踪工具

Grafana监控工具:Prometheus,指标数据

Jaeger作为追踪系统:调用链跟踪

Kibana系统:日志

4、安全

多个组件协同

Ctadel:密钥和证书管理

Pilot:授权策略等信息分发给Envoy代理

Envoy:根据策略实现服务间安全通信

Mixer:负责管理授权等工作

认证:istio的2种类型的身份认证——传输认证(服务间)、来源认证(最终用户认证,验证终端用户或设备,JWT(JSON Web Token)实现)

授权:沿用K8S的授权方式RBAC(Role-Based Access Control),不同级别的访问控制(命名空间级别、服务级别、方法级别)

Pilot + Envoy代理

---

 

Istio:

开源的S.M.产品,提供了统一的方式 管理流量、设置安全和监控等服务治理的能力。

数据平面、控制平面。各个组件充分解耦》优雅。第二代。

 

注:

书中第2章。

 

标签:02,服务,读书笔记,Envoy,envoy,Istio,流量,代理
来源: https://www.cnblogs.com/luo630/p/15368380.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有