ambassador 学习七 Mapping说明
mapping 通过rest 资源与k8s 的service进行关联,ambassador 必须有一个或者多个提供访问servide 的mapping定义
mapping 可以包含的配置
- rewrite rule
修改URL 对于k8s service 的访问
- weight
指定流量路由的权重
- host
指定请求的host header
mapping 的处理顺序
ambassador 对于mappings 会进行排序,较多约束的会优先于较低的约束,请求
前缀的长度,请求的方法,以及约束的header 都会有影响,如果有必须可以使用
precedence 进行修改,但是通常来说没有必要,除非使用了regex_headers 以及
host_regex的mapping 特性,如果有相关的问题,查看统计分析界面会比较好
可选的降级处理
可以使用catch-all 进行默认处理,比如404
参考
---
apiVersion: ambassador/v0
kind: Mapping
name: catch-all
prefix: /
service: https://www.getambassador.io
定义mapping
参考
最简单的例子
---
apiVersion: ambassador/v0
kind: Mapping
name: qotm_mapping
prefix: /qotm/
service: http://qotm
一个cqrs 的例子
---
apiVersion: ambassador/v0
kind: Mapping
name: cqrs_get_mapping
prefix: /cqrs/
method: GET
service: getcqrs
---
apiVersion: ambassador/v0
kind: Mapping
name: cqrs_put_mapping
prefix: /cqrs/
method: PUT
service: putcqrs
更多配置参考:https://www.getambassador.io/reference/mappings.html
几个配置的使用
- host_rewrite
主要是为了解决一些微服务框架基于主机头进行路由
参考:
---
apiVersion: ambassador/v0
kind: Mapping
name: httpbin_mapping
prefix: /httpbin/
service: httpbin.org:80
host_rewrite: httpbin.org
- host && host-regex
基于http header HOST 的mapping
参考
---
apiVersion: ambassador/v0
kind: Mapping
name: qotm_mapping
prefix: /qotm/
service: qotm1
---
apiVersion: ambassador/v0
kind: Mapping
name: qotm_mapping
prefix: /qotm/
host: qotm.datawire.io
service: qotm2
---
apiVersion: ambassador/v0
kind: Mapping
name: qotm_mapping
prefix: /qotm/
host: "^qotm[2-9]\\.datawire\\.io$"
host_regex: true
service: qotm3
- headers
对于包含特定header 的请求进行mapping
参考
---
apiVersion: ambassador/v0
kind: Mapping
name: qotm_mapping
prefix: /qotm/
headers:x-qotm-mode: canaryx-random-header: datawire
service: qotm
- cors
进行跨域的处理(基于cors)
参考
apiVersion: ambassador/v0
kind: Mapping
name: cors_mapping
prefix: /cors/
service: cors-example
cors:origins: http://foo.example,http://bar.examplemethods: POST, GET, OPTIONSheaders: Content-Typecredentials: trueexposed_headers: X-Custom-Headermax_age: "86400"
参考资料
https://www.getambassador.io/reference/mappings
ambassador 学习七 Mapping说明相关推荐
- STL源码剖析学习七:stack和queue
STL源码剖析学习七:stack和queue stack是一种先进后出的数据结构,只有一个出口. 允许新增.删除.获取最顶端的元素,没有任何办法可以存取其他元素,不允许有遍历行为. 缺省情况下用deq ...
- OpenCV与图像处理学习七——传统图像分割之阈值法(固定阈值、自适应阈值、大津阈值)
OpenCV与图像处理学习七--传统图像分割之阈值法(固定阈值.自适应阈值.大津阈值) 一.固定阈值图像分割 1.1 直方图双峰法 1.2 OpenCV中的固定阈值分割 二.自动阈值图像分割 2.1 ...
- PyTorch框架学习七——自定义transforms方法
PyTorch框架学习七--自定义transforms方法 一.自定义transforms注意要素 二.自定义transforms步骤 三.自定义transforms实例:椒盐噪声 虽然前面的笔记介绍 ...
- Docker学习七:使用docker搭建Hadoop集群
本博客简单分享了如何在Docker上搭建Hadoop集群,我的电脑是Ubuntu20,听同学说wsl2有些命令不对,所以建议在虚拟机里按照Ubuntu或者直接安装双系统吧 Docker学习一:Dock ...
- (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...
- RTKLIB专题学习(七)---精密单点定位实现初识(三)
RTKLIB专题学习(七)-精密单点定位实现初识(三) 上两篇我们介绍了RTKLIB中精密单点定位的大致流程,今天我们对照RTKLIB学习手册,来学习相应改正公式和误差源 1.在PPP模式中 RTKL ...
- 【数据库】ER图进行描述某系统之学习七
文章目录 [数据库]ER图进行描述某系统之学习七 一.前提准备 二.要求 三.分析 四.ER图 [数据库]ER图进行描述某系统之学习七 一.前提准备 二.要求 画出相应的ER图,使得可以从该ER图推导 ...
- Python+大数据-Python学习(七)
Python+大数据-Python学习(七) 1.文件的基本操作 文件打开的格式: file = open(文件路径,读写模式) - open默认打开的式r模式 文件路径:可以写相对路径,也可以写 ...
- 案例学习——Interior Mapping 室内映射(假室内效果)
最近油管推荐了Interior Mapping的教程,发现很有意思,但各种资料似乎比较零散 于是到处搜集了一些,有了这篇文章汇总,一起学习 案例学习--Interior Mapping 室内映射(假室 ...
最新文章
- 简单介绍python迭代器和生成器
- Java Review - 并发编程_ThreadLocalRandom实现原理源码分析
- JVM基础系列第14讲:JVM参数之GC日志配置
- python快速入门神器 知乎_python数据分析之数据处理终极神器
- c#如何识别一张图片的格式
- Java 基础 —— enum
- functools.partial
- Java二级练习试题一
- android遥控器:控制电脑上的暴风影音播放(C#作为服务端)
- hping3进行SYN Flood攻击
- 集中器与本地通信模块的交互流程
- imazing iOS设备管理软件
- 未来行业发展趋势分析
- github仓库在线新建文件夹方法备份
- 4.29 笔记+day7作业
- 蓝奏云自定义域名链接替换网站源码
- css透明度兼容问题opacity
- 智能家居的应用研究现状
- 水果店圈子:怎么做好水果店线上营销方案,水果店线上如何做
- 列中的空值违反了非空约束_管理社区中违反准则的情况
热门文章
- 内置模块/核心模块 (自带的)---http 服务器模块
- 用css3和jQuery制作精美的表单
- 用css实现透明度的方法
- http :请求响应报文-web服务-ajax-cors跨域
- 模式识别中的特征提取及其内在意义
- Kinect开发学习笔记之(四)提取颜色数据并用OpenCV显示
- 服务器集成显卡性能,Win8.1与Ubuntu 14.10:集成显卡性能PK
- 7-237 有理数加法 (15 分)
- 4009-基于邻接表的边的删除(C++,附思路)
- 项目部署—移除Spring Boot内置Tomcat,部署到云服务器Tomcat