Linkerd Service Mesh 服务配置文件规范

服务配置文件 为 Linkerd 提供有关服务的附加信息。
以下是可以使用服务配置文件完成的所有操作的参考。
系列
中文手册(https://linkerd.hacker-linner.com)
Spec(规范)
服务配置文件规范必须包含以下顶级字段:
| field | value |
|---|---|
routes |
route 对象的列表 |
retryBudget |
定义此服务的最大重试率的 retry budget 对象 |
Route(路由)
route 对象必须包含以下字段:
| field | value |
|---|---|
name |
这条 route 的名称,因为它将出现在 route 标签中 |
condition |
一个 request match 对象,用于定义请求是否与此 route 匹配 |
responseClasses |
(可选)response class 对象列表 |
isRetryable |
表示对该 route 的请求始终可以安全重试,并且会导致 proxy 尽可能重试该 route 上失败的请求 |
timeout |
发送请求后等待响应(包括重试)完成的最长时间 |
Request Match(请求匹配)
请求匹配对象必须恰好包含以下字段之一:
| field | value |
|---|---|
pathRegex |
匹配请求路径的正则表达式 |
method |
GET, POST, PUT, DELETE, OPTION, HEAD, TRACE 之一 |
all |
必须全部匹配的 request match 对象列表 |
any |
request match 对象的列表,其中至少一个必须匹配 |
not |
必须不匹配的 request match 对象 |
Request Match 使用示例
最简单的条件是路径正则表达式:
pathRegex: '/authors/\d+'
这是检查请求方法的条件:
method: POST
如果设置了多个条件字段,则必须满足所有条件。这等效于使用 all 条件:
all:
- pathRegex: '/authors/\d+'
- method: POST
可以使用 all、any 和 not 组合条件:
any:
- all:
- method: POST
- pathRegex: '/authors/\d+'
- all:
- not:
method: DELETE
- pathRegex: /info.txt
Response Class(响应类)
response class 对象必须包含以下字段:
| field | value |
|---|---|
condition |
一个 response match 对象,它定义一个 response 是否匹配这个 response class |
isFailure |
一个布尔值,用于定义这些 response 是否应归类为失败 |
Response Match(响应匹配)
response match 对象必须恰好包含以下字段之一:
| field | value |
|---|---|
status |
用于匹配响应状态代码的 status range 对象 |
all |
必须全部匹配的 response match 对象列表 |
any |
response match 对象列表,其中至少一个必须匹配 |
not |
必须不匹配的 response match 对象 |
Response Match 条件可以以类似于上面显示的 Request Match 使用示例 的方式组合
Status Range(状态范围)
status range 对象必须包含以下至少一个字段。只指定 min 或 max 中的一个将只匹配一个状态码。
| field | value |
|---|---|
min |
状态码必须大于或等于此值 |
max |
状态码必须小于或等于此值 |
Retry Budget(重试预算)
retry budget 指定应发送到此服务的最大重试总次数与原始请求量的比率。
| field | value |
|---|---|
retryRatio |
重试请求与原始请求的最大比率 |
minRetriesPerSecond |
除了 retryRatio 允许的重试次数外,允许每秒重试次数 |
ttl |
指示在计算 retryRatio 时应考虑请求的时间 |
实战
公众号:黑客下午茶
Linkerd Service Mesh 服务配置文件规范的更多相关文章
- Service Mesh服务网格:是什么和为什么
Service Mesh服务网格:是什么和为什么 - 好雨云帮 CSDN 博客 - CSDN博客 https://blog.csdn.net/zyqduron/article/details/8043 ...
- Service Mesh服务网格新生代--Istio(转)
万字解读:Service Mesh服务网格新生代--Istio 官网地址:https://preliminary.istio.io/zh/docs/concepts/security/ Servic ...
- Service Mesh服务网格清单
Service Mesh服务网格清单 Istio Istio官网 Istio中文官网 Istio开源 无需太多介绍Service Mesh明日之星,扛把子,截止2019.11还有太多问题没解决 复杂性 ...
- Service Mesh服务网格新生代--Istio
原文: 数人云|万字解读:Service Mesh服务网格新生代--Istio 参考: istio 简介 Istio是啥?一文带你彻底了解! 使用Istio治理微服务入门 Istio 流量管理 ist ...
- 了解 Linkerd Service Mesh 架构
从较高的层次上看,Linkerd 由一个控制平面(control plane) 和一个 数据平面(data plane) 组成. 控制平面是一组服务,提供对 Linkerd 整体的控制. 数据平面由在 ...
- Service Mesh服务网格新生代——Istio
Istio 是什么?使用云平台可以为组织提供丰富的好处.然而,不可否认的是,采用云可能会给 DevOps 团队带来压力.开发人员必须使用微服务已满足应用的可移植性,同时运营商管理了极其庞大的混合和多云 ...
- Service Mesh服务网格之Linkerd架构
今天详细介绍一下Linkerd的架构. 控制平面 Linkerd控制平面是一组在专用Kubernetes命名空间中运行的服务(在Linked默认情况下).这些服务完成各种事情——聚合遥测数据.提供面向 ...
- Linkerd Service Mesh 授权策略(Server & ServerAuthorization)
简介 Server 和 ServerAuthorization 是 Linkerd 中的两种策略资源, 用于控制对 mesh 应用程序的入站访问. 在 linkerd 安装期间,policyContr ...
- Linkerd 2:5 分种厘清 Service Mesh 相关术语
API Gateway(API 网关) API gateway 位于应用程序的前面,旨在解决身份验证和授权.速率限制以及为外部消费者提供公共访问点等业务问题. 相比之下,service mesh 专注 ...
随机推荐
- 如何系统学习C 语言(下)之 预处理命令篇
大话c语言(下)之 预处理命令篇 预处理就是在编译之前,通过一些预处理命令对源代码进行管理和控制的过程. 由源代码得到可执行的程序,会经过预处理.编译.汇编和链接几个过程 预处理命令大致可以分为文件包 ...
- 暑假算法练习Day2
第二天啦!大家一起冲冲冲!! 1004 成绩排名 (20 分) 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用 ...
- Go defer 特性和使用场景
golang 的 defer 语句用于延迟调用.defer 会在当前函数返回之前执行 defer 注册的函数.比如 defer func_defer() 这样语句会让你注册一个函数变量到 defer ...
- python实现图片色素的数值运算(加减乘除)和逻辑运算(与或非异或)
目录: (一)数值运算(加减乘除) (二)逻辑运算(与或非异或) 正文: (一)数值运算(加减乘除) opencv自带图片色素的处理函数------相加:add() 相减:subtract() ...
- 重新整理 .net core 实践篇——— 权限源码阅读四十五]
前言 简单介绍一下权限源码阅读一下. 正文 一直有人对授权这个事情上争论不休,有的人认为在输入账户密码给后台这个时候进行了授权,因为认为发送了一个身份令牌,令牌里面可能有些用户角色信息,认为这就是授权 ...
- [bzoj1101]Zap
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define N 50001 4 int t,n,m,k,ans,mu[N],vis ...
- [luogu3573]RAJ-Rally
先建一个$S$和$T$,$\forall 1\le i\le n$连边$(S,i)$和$(i,T)$,则最长路即为$S到T的最长路-2$ 对于这张DAG,求出一个拓扑序,点$i$为第$i$个(特别的, ...
- cube+FreeRTOS联合开发采坑笔记
加了看门狗之后不断重启的可能 原因: 任务容量分配不足,在"FreeRTOSConfig.h"的配置中,有个configTOTAL_HEAP_SIZE中将堆大小调到最大.
- go语言并发编程
引言 说到go语言最厉害的是什么就不得不提到并发,并发是什么?,与并发相关的并行又是什么? 并发:同一时间段内执行多个任务 并行:同一时刻执行多个任务 进程.线程与协程 进程: 进程是具有一定独立功能 ...
- negix安装与配置2-反向代理一台
negix反向代理: 1.实现效果:打开浏览器,输入www.123.com 跳转到linux系统主页面中 2.准备工作tomcat java环境 https://www.cnblogs.com/q13 ...