没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
服务网格代理 Envoy 入门
一见 2019/12/27
目录
目录
.....................................................................................................................................................
1
1. 前言
................................................................................................................................................
2
1.1. Envoy 是什么
.......................................................................................................................
2
1.2. 如何入门 Envoy
..................................................................................................................
2
1.3. Envoy 的源码在哪
...............................................................................................................
2
2. 缩略语
............................................................................................................................................
3
3. Envoy 架构
......................................................................................................................................
3
3.1. 外部架构
............................................................................................................................
3
3.2. 内部架构
............................................................................................................................
4
4. Envoy 配置文件
..............................................................................................................................
5
4.1. admin
...................................................................................................................................
5
4.2. static_resources
...................................................................................................................
6
4.2.1. listeners
.....................................................................................................................
6
4.2.2. clusters
......................................................................................................................
6
4.3. dynamic_resources
..............................................................................................................
8
4.3.1. 怎么理解
..................................................................................................................
8
4.3.2. 全动态配置
..............................................................................................................
8
4.3.3. gRPC 接口
..................................................................................................................
9
4.3.4. REST 接口
................................................................................................................
10
5. 试跑体验
......................................................................................................................................
10
5.1. 体验目标
..........................................................................................................................
10
5.2. 下载 Envoy 镜像
...............................................................................................................
10
5.3. 准备 Envoy 配置文件
.......................................................................................................
10
5.4. 启动 Envoy 容器
...............................................................................................................
12
5.5. 启动 Envoy 进程
...............................................................................................................
12
5.6. 体验效果
..........................................................................................................................
13
6. 动态配置
......................................................................................................................................
13
6.1. 动态配置 EDS
...................................................................................................................
13
6.1.1. Envoy 配置文件
......................................................................................................
13
6.1.2. EDS 服务源码
.........................................................................................................
15
6.1.3. 启动 EDS 进程
.......................................................................................................
17
6.1.4. 启动 Envoy 进程
....................................................................................................
18
1. 前言
Envoy 入门并不简单,可以说有些陡峭,本文尽可能帮助降低入门门槛。本文内容主要
基于 Envoy-1.12.2 版本,官方链接:
https://www.envoyproxy.io/docs/envoy/v1.12.2/configuration/overview/v2_overview
1.1.Envoy 是什么
Envoy 是 Lyft 开源的一个 C++实现的代理(Proxy),和 Nginx 及 HAProxy 类似,可代理
L3/L4 层和 L7 层。代理是它最核心和基础的功能,它也是服务网格框架 Istio 的 Sidecar。
1.2.
如何入门
Envoy
从研究
Envoy
的配置文件开始,
Envoy
支持多种格式的配置文件:
YAML
、
JSON
和
PB
等,
其中
YAML
使用最多,官方示例基本都是
YAML
格式的。
配置文件中涉及多个概念,所以最好先将概念了解清楚,然后使用最简单的配置走一遍
流程,如果会用
Docker
则这一步会比较简单。在了解概念之前,最好先了解
Envoy
的基本
架构,以弄明白各概念间的协作关系。
1.3.Envoy 的源码在哪
Envoy 的源码托管在 Github 上:https://github.com/envoyproxy/envoy。
2. 缩略语
缩写
全写
说明
lb
load balance
负载均衡
lb_policy
load balance policy
负载均衡策略
SNI
Server Name Indication
TLS 的扩展,用来解决一个服务器拥有多个域名或证书。
工作原理:在连接到服务器建立 SSL 链接前,先发送要访
问的域名,服务器根据这个域名返回一个合适的证书。
TLS
Transport Layer Security
传输层安全性协议
L3
Layer 3
网络层(IP)
L4
Layer 4
传输层(PORT)
L7
Layer 7
应用层(HTTP)
L2
Layer 2
数据链路层(MAC)
YAML
YAML Ain't a Markup Language
以数据做为中心的标记语(Yet Another Markup Language)
JSON
JavaScript Object Notation
JS 对象简谱,一种轻量级的数据交换格式
REST
Representational State
Transfer
表述性状态传递,一种软件架构风格
gRPC
Google RPC
谷歌开源的 RPC 框架
pb
Protocol buffers
谷歌开发的一种数据描述语言,常被简称为 protobuf
3. Envoy 架构
3.1.外部架构
下图展示了 Envoy 的外部架构,从图很容易看到服务间、应用和服务间都是通过 Envoy
串联起来的,Envoy 是它们间的高速公路,Envoy 的作用就是在各部分间转发读写请求(也
可叫读写操作),所以 Envoy 是名副其实的代理(Proxy)。
3.2.
内部架构
外部架构展示了 Envoy 的作用,但无法窥见它是如何实现的,Envoy 的内部结构展示出
了它的实现原理。
其中过滤器(Filter)是 Envoy 的核心中的核心,多 Filter 形成了过滤器链(Chain),和
iptables 的 Chain 类似,请求经过过滤器链后到达目的服务(Service)。
剩余17页未读,继续阅读
资源评论
一见
- 粉丝: 382
- 资源: 53
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功