Ambassador-04- Mapping 资源

官方文档:https://www.getambassador.io/docs/latest/topics/using/intro-mappings/#resources

Ambassador 通过Mapping资源,设置应用程序的映射关系。

mapping与service的映射关系

Required attributeDescription
name is a string identifying the Mapping (e.g. in diagnostics)
prefix is the URL prefix identifying your resource
service is the name of the service handling the resource; must include the namespace (e.g. myservice.othernamespace) if the service is in a different namespace than Ambassador

name

其中,name不可以重复,所有的namespace下,都不可以重复。

Ambassador Edge Stack must have one or more mappings defined to provide access to any services at all. The name of the mapping must be unique.  (******)

prefix

url前缀,以下的url可是设置一个prefix :resource1

https://ambassador.example.com/resource1/foo
https://ambassador.example.com/resource1/bar
https://ambassador.example.com/resource1/baz/zing
https://ambassador.example.com/resource1/baz/zung

注意:prefix不能是“/” 

如果 prefix=/man

那么它将会匹配下面所有的url

https://ambassador.example.com/man/foo
https://ambassador.example.com/mankind
https://ambassador.example.com/man-it-is/really-hot-today
https://ambassador.example.com/manohmanohman

services

service的定义如下:

[scheme://]service[.namespace][:port]

1. sheme 可以是http或者https,默认是http

2. service是kubernetes service的name

3.namespace指的是应用远行的namespace

4.port是应该向其发送请求的端口,http默认是80。https默认是443

以下这个例子,所有请求到/httpbin/,都会转发到 http://httpbin.org

---
apiVersion: getambassador.io/v2
kind:  Mapping
metadata:
  name:  httpbin-mapping
spec:
  prefix: /httpbin/
  service: http://httpbin.org
原文地址:https://www.cnblogs.com/shix0909/p/12960655.html