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说明相关推荐

  1. STL源码剖析学习七:stack和queue

    STL源码剖析学习七:stack和queue stack是一种先进后出的数据结构,只有一个出口. 允许新增.删除.获取最顶端的元素,没有任何办法可以存取其他元素,不允许有遍历行为. 缺省情况下用deq ...

  2. OpenCV与图像处理学习七——传统图像分割之阈值法(固定阈值、自适应阈值、大津阈值)

    OpenCV与图像处理学习七--传统图像分割之阈值法(固定阈值.自适应阈值.大津阈值) 一.固定阈值图像分割 1.1 直方图双峰法 1.2 OpenCV中的固定阈值分割 二.自动阈值图像分割 2.1 ...

  3. PyTorch框架学习七——自定义transforms方法

    PyTorch框架学习七--自定义transforms方法 一.自定义transforms注意要素 二.自定义transforms步骤 三.自定义transforms实例:椒盐噪声 虽然前面的笔记介绍 ...

  4. Docker学习七:使用docker搭建Hadoop集群

    本博客简单分享了如何在Docker上搭建Hadoop集群,我的电脑是Ubuntu20,听同学说wsl2有些命令不对,所以建议在虚拟机里按照Ubuntu或者直接安装双系统吧 Docker学习一:Dock ...

  5. (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码

    http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...

  6. RTKLIB专题学习(七)---精密单点定位实现初识(三)

    RTKLIB专题学习(七)-精密单点定位实现初识(三) 上两篇我们介绍了RTKLIB中精密单点定位的大致流程,今天我们对照RTKLIB学习手册,来学习相应改正公式和误差源 1.在PPP模式中 RTKL ...

  7. 【数据库】ER图进行描述某系统之学习七

    文章目录 [数据库]ER图进行描述某系统之学习七 一.前提准备 二.要求 三.分析 四.ER图 [数据库]ER图进行描述某系统之学习七 一.前提准备 二.要求 画出相应的ER图,使得可以从该ER图推导 ...

  8. Python+大数据-Python学习(七)

    Python+大数据-Python学习(七) 1.文件的基本操作 文件打开的格式: file = open(文件路径,读写模式) ​ - open默认打开的式r模式 文件路径:可以写相对路径,也可以写 ...

  9. 案例学习——Interior Mapping 室内映射(假室内效果)

    最近油管推荐了Interior Mapping的教程,发现很有意思,但各种资料似乎比较零散 于是到处搜集了一些,有了这篇文章汇总,一起学习 案例学习--Interior Mapping 室内映射(假室 ...

最新文章

  1. 简单介绍python迭代器和生成器
  2. Java Review - 并发编程_ThreadLocalRandom实现原理源码分析
  3. JVM基础系列第14讲:JVM参数之GC日志配置
  4. python快速入门神器 知乎_python数据分析之数据处理终极神器
  5. c#如何识别一张图片的格式
  6. Java 基础 —— enum
  7. functools.partial
  8. Java二级练习试题一
  9. android遥控器:控制电脑上的暴风影音播放(C#作为服务端)
  10. hping3进行SYN Flood攻击
  11. 集中器与本地通信模块的交互流程
  12. imazing iOS设备管理软件
  13. 未来行业发展趋势分析
  14. github仓库在线新建文件夹方法备份
  15. 4.29 笔记+day7作业
  16. 蓝奏云自定义域名链接替换网站源码
  17. css透明度兼容问题opacity
  18. 智能家居的应用研究现状
  19. 水果店圈子:怎么做好水果店线上营销方案,水果店线上如何做
  20. 列中的空值违反了非空约束_管理社区中违反准则的情况

热门文章

  1. 内置模块/核心模块 (自带的)---http 服务器模块
  2. 用css3和jQuery制作精美的表单
  3. 用css实现透明度的方法
  4. http :请求响应报文-web服务-ajax-cors跨域
  5. 模式识别中的特征提取及其内在意义
  6. Kinect开发学习笔记之(四)提取颜色数据并用OpenCV显示
  7. 服务器集成显卡性能,Win8.1与Ubuntu 14.10:集成显卡性能PK
  8. 7-237 有理数加法 (15 分)
  9. 4009-基于邻接表的边的删除(C++,附思路)
  10. 项目部署—移除Spring Boot内置Tomcat,部署到云服务器Tomcat