更新时间:2025-07-04 GMT+08:00
分享

为ELB Ingress配置高级转发策略

在CCE集群中创建ELB Ingress后,系统会自动在ELB上创建对应的监听器并配置转发策略,Ingress默认根据域名、路径匹配客户端请求,然后通过监听器转发至对应的后端服务器(节点或Pod)进行处理。在创建ELB Ingress时,您可以配置多样化的转发规则和转发动作,满足自定义的业务需求、灵活分配流量。

图1 高级转发策略示意图

高级转发策略的实现分为以下四个步骤:

  1. 客户端访问ELB Ingress,发送请求至ELB。
  2. ELB首先根据高级转发策略中的转发规则匹配访问请求,匹配成功后继续执行转发动作。
  3. ELB再根据已设置的转发动作,将客户端请求转发至对应的后端服务器进行处理。
  4. 最后返回响应至客户端。

高级转发策略支持的转发规则与转发动作请参见高级转发规则介绍高级转发动作介绍

前提条件

  • 已创建一个集群版本满足要求的CCE Standard或CCE Turbo集群。
  • 您需要使用kubectl连接到集群,详情请参见通过kubectl连接集群

约束与限制

ELB Ingress配置重写、写入/删除Header、限速功能依赖ELB高级转发策略能力,当前陆续上线中,已发布区域请以实际开放为准。如果您有使用需求,请提交工单申请开通ELB相关能力。

高级转发规则介绍

ELB Ingress支持在“kubernetes.io/elb.conditions.<svc-name>”注解中配置转发规则,根据不同的规则匹配满足条件的访问请求,然后进行流量转发。

如果在一个注解中为同一个Service配置不同的转发规则,不同的规则是“与”关系,但同一个规则块中的值是“或”关系。例如,Method和QueryString两种转发规则都配置时,需要同时满足,才能实现目标流量分发。但如果Method值为GET,POST,即只需要满足Method为GET或POST,且QueryString满足条件即可。

最多支持添加10个高级转发条件(包括域名和路径),同一转发规则类型的每个value值都算作一个转发条件。

例如,某个Ingress配置了域名和路径,则最多支持再添加8个高级转发条件;如果再配置根据HTTP请求方法转发,如GET、POST,则继续占用2个转发条件。

表1 ELB高级转发规则

转发规则

说明

操作指导

集群版本要求

HTTP请求方法

根据HTTP请求的类型(如GET、POST等)进行匹配,匹配成功后再执行转发动作。

注解示例如下:

kubernetes.io/elb.conditions.<svc-name>: |  
  [{ 
    "type": "Method", 
    "methodConfig": { 
      "values": [ 
        "GET", 
        "POST" 
      ] 
    } 
  }]

关于高级转发规则的具体配置示例及参数说明,请参见场景一:为ELB Ingress配置高级转发规则

  • v1.23集群:v1.23.18-r10及以上
  • v1.25集群:v1.25.16-r0及以上
  • v1.27集群:v1.27.16-r0及以上
  • v1.28集群:v1.28.13-r0及以上
  • v1.29集群:v1.29.8-r0及以上
  • v1.30集群:v1.30.4-r0及以上
  • 其他更高版本的集群

HTTP请求头

根据HTTP请求头中的特定信息(如User-Agent、Content-Type等)进行匹配,匹配成功后再执行转发动作。

注解示例如下:

kubernetes.io/elb.conditions.<svc-name>: |  
  [{ 
    "type": "Header", 
    "headerConfig": { 
      "key": "gray-hello", 
      "values": [ 
        "value1", 
        "value2" 
      ] 
    } 
  }]

Cookie

根据Cookie中的指定键值进行匹配,匹配成功后再执行转发动作。

注解示例如下:

kubernetes.io/elb.conditions.<svc-name>: |  
  [{ 
    "type": "Header", 
    "headerConfig": { 
      "key": "gray-hello", 
      "values": [ 
        "value1", 
        "value2" 
      ] 
    } 
  }]

查询字符串

根据URL中查询字符串的特定参数和值进行匹配,匹配成功后再执行转发动作。

注解示例如下:

kubernetes.io/elb.conditions.<svc-name>: |  
  [{ 
    "type": "QueryString", 
    "queryStringConfig": { 
      "key": "querykey", 
      "values": [ 
        "queryvalue" 
      ] 
    } 
  }]

网段

根据请求来源的IP地址所属的网段进行匹配,匹配成功后再执行转发动作。

注解示例如下:

kubernetes.io/elb.conditions.<svc-name>: |  
  [{ 
    "type": "SourceIp", 
    "sourceIpConfig": { 
      "values": [ 
        "192.168.0.0/16", 
        "172.16.0.0/16" 
      ] 
    }
  }]

高级转发动作介绍

ELB Ingress支持在注解中配置多种转发动作,您可以使用这些转发动作灵活地管理访问请求以满足业务需求。

  • 转发至后端服务器组(ELB Ingress默认转发动作):支持重写、跨域访问、写入/删除Header、限速等额外转发动作,ELB将首先执行额外的转发动作,然后再将请求转发至对应的后端服务器组。额外转发动作中,限速的优先级最高。
  • 重定向至监听器:支持HTTP协议重定向至HTTPS协议。
  • 返回固定响应:支持配置限速等额外转发动作。
  • 转发至自定义后端服务器组:不可与灰度发布、返回固定响应、重定向到URL同时使用。
表2 ELB高级转发动作

转发动作

额外转发动作

说明

操作指导

集群版本要求

转发至后端服务器组(ELB Ingress默认转发动作)

重写

该转发动作可以重写请求的路径信息。

注解示例如下:

kubernetes.io/elb.rewrite-target: /rewritepath 

具体配置示例及参数说明,请参见为ELB Ingress配置Rewrite重写

  • v1.23集群:v1.23.14-r0及以上
  • v1.25集群:v1.25.9-r0及以上
  • v1.27集群:v1.27.6-r0及以上
  • v1.28集群:v1.28.4-r0及以上
  • 其他更高版本的集群

跨域访问

该转发动作可以支持资源的跨域访问。

注解示例如下:

kubernetes.io/elb.cors-allow-origin: 'http://example.com'  # 允许访问的域
kubernetes.io/elb.cors-allow-headers: 'fake-header-1' # 允许的请求头
kubernetes.io/elb.cors-expose-headers: 'fake-header-2' # 需要公开的响应头
kubernetes.io/elb.cors-allow-methods: 'GET,POST' # 允许的HTTP请求方法
kubernetes.io/elb.cors-allow-credentials: 'true' # 允许发送凭据
kubernetes.io/elb.cors-max-age: '3600' # 预检请求的缓存时长

具体配置示例及参数说明,请参见为ELB Ingress配置跨域访问

  • v1.23集群:v1.23.18-r10及以上
  • v1.25集群:v1.25.16-r0及以上
  • v1.27集群:v1.27.16-r0及以上
  • v1.28集群:v1.28.13-r0及以上
  • v1.29集群:v1.29.8-r0及以上
  • v1.30集群:v1.30.4-r0及以上
  • 其他更高版本的集群

写入/删除Header

该转发动作可以在请求中写入或删除配置的Header后再访问后端服务器。

注解示例如下:

kubernetes.io/elb.actions.<svc-name>: |
  [{
      "type": "InsertHeader",
      "InsertHeaderConfig": {
        "key": "insertkey",
        "value_type": "USER_DEFINED",
        "value": "insertvalue"
      }
    },
   {
      "type": "RemoveHeader",
      "RemoveHeaderConfig": {
        "key": "removekey"
      }
    }
  }]

具体配置示例及参数说明,请参见示例一:为ELB Ingress配置写入/删除Header

限速

该转发动作支持对请求设置限速。

注解示例如下:

kubernetes.io/elb.actions.<svc-name>: |
  [{
     "type": "TrafficLimit", 
     "trafficLimitConfig": { 
       "QPS": 4,
       "perSourceIpQps": 2,
       "burst": 2
     } 
  }]

具体配置示例及参数说明,请参见示例三:为ELB Ingress配置限速

  • v1.27集群:v1.27.16-r10及以上
  • v1.28集群:v1.28.15-r0及以上
  • v1.29集群:v1.29.10-r0及以上
  • v1.30集群:v1.30.6-r0及以上
  • 其他更高版本的集群

重定向至监听器(HTTP重定向至HTTPS)

无可额外添加的转发动作

该转发动作可以将HTTP协议的访问请求转发至HTTPS协议的监听器上。

注解示例如下:

kubernetes.io/elb.ssl-redirect: 'true' 
kubernetes.io/elb.listen-ports: '[{"HTTP":80},{"HTTPS":443}]' # HTTP转发至HTTPS端口

具体配置示例及参数说明,请参见为ELB Ingress配置HTTP重定向到HTTPS

  • v1.23集群:v1.23.14-r0及以上
  • v1.25集群:v1.25.9-r0及以上
  • v1.27集群:v1.27.6-r0及以上
  • v1.28集群:v1.28.4-r0及以上
  • 其他更高版本的集群

重定向至URL

无可额外添加的转发动作

该转发动作可以将特定的访问请求重定向至指定的URL,并返回3xx返回码。

注解示例如下:

kubernetes.io/elb.redirect-url: https://example.com/testa   # 重定向URL的信息
kubernetes.io/elb.redirect-url-code: '301' # 重定向URL后的返回码

具体配置示例及参数说明,请参见为ELB Ingress配置URL重定向

返回固定响应

不额外添加转发动作

该转发动作可以直接返回固定响应,不向后端服务器继续转发。

注解示例如下:

kubernetes.io/elb.actions.<svc-name>: |
  [{ 
     "type": "FixedResponse", 
     "fixedResponseConfig": { 
       "contentType": "text/plain", 
       "statusCode": "503",
       "messageBody": "503 error text"  
     } 
  }]

具体配置示例及参数说明,请参见示例二:为ELB Ingress配置返回固定响应

  • v1.25集群:v1.25.16-r10及以上
  • v1.27集群:v1.27.16-r10及以上
  • v1.28集群:v1.28.15-r0及以上
  • v1.29集群:v1.29.10-r0及以上
  • v1.30集群:v1.30.6-r0及以上
  • 其他更高版本的集群

限速

该转发动作支持对请求设置限速。

注解示例如下:

kubernetes.io/elb.actions.<svc-name>: |
  [{ 
     "type": "FixedResponse", 
     "fixedResponseConfig": { 
       "contentType": "text/plain", 
       "statusCode": "503",
       "messageBody": "503 error text"  
     } 
   },
  { 
     "type": "TrafficLimit", 
     "trafficLimitConfig": { 
       "QPS": 4,
       "perSourceIpQps": 2,
       "burst": 2
     } 
  }]

具体配置示例及参数说明,请参见示例三:为ELB Ingress配置限速

  • v1.27集群:v1.27.16-r10及以上
  • v1.28集群:v1.28.15-r0及以上
  • v1.29集群:v1.29.10-r0及以上
  • v1.30集群:v1.30.6-r0及以上
  • 其他更高版本的集群

转发到自定义后端服务器组

该转发动作支持将ELB Ingress请求同时转发至CCE集群内Pod(默认后端服务器组)及集群外ECS服务器组(自定义后端服务器组)。

注解示例如下:

kubernetes.io/elb.actions.<svc-name>: |
  [{ 
     "type": "ForwardPool", 
     "forwardConfig": [{ 
       "serviceName": "test",
       "servicePort": 80,
       "weight": 90,
       "type": "service"
       },{ 
       "poolID": "53d8516e-xxxx-xxxx-xxxx-b15ffd6b3cca", 
       "weight": 70,
       "type": "pool"
     }]
  }] 

具体配置示例及参数说明,请参见示例四:为ELB Ingress配置自定义后端服务器组

  • v1.25集群:v1.25.16-r20及以上
  • v1.27集群:v1.27.16-r20及以上
  • v1.28集群:v1.28.15-r10及以上
  • v1.29集群:v1.29.10-r10及以上
  • v1.30集群:v1.30.6-r10及以上
  • v1.31集群:v1.31.4-r0及以上
  • 其他更高版本的集群

场景一:为ELB Ingress配置高级转发规则

ELB Ingress支持根据自定义的HTTP请求方法、请求头、查询字符串和源网段进行流量转发。以下示例中,当请求路径是/hello1,且同时满足以下高级转发规则时才会将流量转发至svc-hello1服务:

  • 请求方法为GETPOST
  • 请求头中包含键为gray-hello,值为value1value2
  • Cookie的键为cookiekey1,值为cookievalue1或键为cookiekey2,值为cookievalue2
  • 查询字符串的键为querykey,值为queryvalue
  • 源网段为192.168.0.0/16172.16.0.0/16

具体操作及参数配置说明如下:

  1. 请参见通过kubectl连接集群,使用kubectl连接集群。
  2. 创建名为“ingress-test.yaml”的YAML文件,此处文件名可自定义。

    vi ingress-test.yaml
    以使用已有ELB创建Ingress的场景为例,YAML配置如下:
    apiVersion: networking.k8s.io/v1 
    kind: Ingress 
    metadata: 
      annotations: 
        kubernetes.io/elb.class: performance
        kubernetes.io/elb.id: ab53c3b2-xxxx-xxxx-xxxx-5ac3eb2887be
        kubernetes.io/elb.port: '80'
        # 以下注解表示为svc-hello1服务时配置高级转发规则,该服务名称必须和backend字段下的服务名称一致
        kubernetes.io/elb.conditions.svc-hello1: |  
            [ 
              { 
                "type": "Method", 
                "methodConfig": { 
                  "values": [ 
                    "GET", 
                    "POST" 
                  ] 
                } 
              }, 
              { 
                "type": "Header", 
                "headerConfig": { 
                  "key": "gray-hello", 
                  "values": [ 
                    "value1", 
                    "value2" 
                  ] 
                } 
              }, 
              { 
                "type": "Cookie", 
                "cookieConfig": { 
                  "values": [ 
                    { 
                      "key": "cookiekey1", 
                      "value": "cookievalue1" 
                    }, 
                    { 
                      "key": "cookiekey2", 
                      "value": "cookievalue2" 
                    } 
                  ] 
                } 
              }, 
              { 
                "type": "QueryString", 
                "queryStringConfig": { 
                  "key": "querykey", 
                  "values": [ 
                    "queryvalue" 
                  ] 
                } 
              }, 
              { 
                "type": "SourceIp", 
                "sourceIpConfig": { 
                  "values": [ 
                    "192.168.0.0/16", 
                    "172.16.0.0/16" 
                  ] 
                } 
              } 
            ] 
      name: ingress-test 
    spec: 
      ingressClassName: cce 
      rules: 
       - http: 
          paths: 
          - path: /hello1 
            pathType: ImplementationSpecific 
            backend: 
              service: 
                name: svc-hello1 
                port: 
                  number: 80
    表3 高级转发规则注解

    参数

    类型

    描述

    kubernetes.io/elb.conditions.${svc_name}

    String

    配置高级转发规则,${svc_name}即对应的Service名称,其最大长度为48个字符。

    如果该annotation值配置成[]则表示删除相应的高级转发规则。

    注解值格式为Json字符串数组,具体格式请参见表4

    注意:

    一条conditions中的数组中不同的规则是“与”关系,但同一个规则块中的值是“或”关系。例如,Method和QueryString两种转发规则都配置时,需要同时满足,才能实现目标流量分发。但如果Method值为GET,POST,即只需要满足Method为GET或POST,且QueryString满足条件即可。

    表4 数组结构

    参数

    使用说明

    示例

    type

    匹配类型,支持设置以下几种参数值:

    • Method:根据匹配的HTTP请求方法进行转发,需要与methodConfig字段搭配使用。Method仅可配置一次。
    • Header:根据匹配的HTTP请求头进行转发,需要与headerConfig字段搭配使用。
    • Cookie:根据匹配的Cookie进行转发,需要与cookieConfig字段搭配使用。
    • QueryString:根据请求中匹配的字符串进行转发,需要与queryStringConfig字段搭配使用。
    • SourceIp:根据匹配的请求网段进行转发,需要与sourceIpConfig字段搭配使用。SourceIp仅可配置一次。

    -

    methodConfig

    触发转发的HTTP请求方法,仅当type参数值为Method时使用。

    可以并列设置多个请求方法,支持以下几种请求方法:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS。

    methodConfig无需设置key,仅设置values即可,values为数组。

    {
      "type": "Method",
      "methodConfig": {
         "values": [
            "GET",
            "POST"
         ]
      }
    }

    headerConfig

    触发转发的HTTP请求头,仅当type参数值为Header时使用。

    • 键(key):只能由英文字母、数字、下划线和中划线组成。

      HTTP请求头User-agent和Connection仅支持首字母大写的形式。

    • 值(value)一个键下可以配置多个值。只能包含英文字母、数字和特殊字符!#$%&'()*+,.\/:;<=>?@[]^-_'{|}~。还支持*和?两种通配符。

    一个headerConfig结构体中仅能设置一个Key,如需设置多个Key,请配置多组HeaderConfig规则块。

    {
      "type": "Header",
      "headerConfig": {
         "key": "gray-hello",
         "values": [
            "value1",
            "value2"
         ]
      } 
    }

    cookieConfig

    触发转发的Cookie,仅当type参数值为Cookie时使用。Cookie是键值对的形式,需要分别设置值:

    • 键(key):键的长度为1~100个字符,且首尾字符不能为空格。
    • 值(value):一个键下配置一个值,值的长度为1~100个字符。

    支持输入多个Cookie键值对,键值对支持英文字母、数字和特殊字符!%'"()*+,./:=?@^-_`~。

    设置cookieConfig时,values字段中支持设置多个key,value对数组,多个数组之间为或关系。

    { 
      "type": "Cookie", 
      "cookieConfig": { 
         "values": [ 
            { 
              "key": "cookiekey1", 
              "value": "cookievalue1" 
            }, 
            { 
               "key": "cookiekey2", 
               "value": "cookievalue2" 
            } 
         ] 
      } 
    }

    queryStringConfig

    当请求中的字符串与设置好的转发规则中的字符串相匹配时,触发转发,仅当type参数值为QueryString时使用。

    查询字符串是键值对的形式,需要分别设置值:

    • 键(key):只能包含英文字母、数字和特殊字符!$'()*+,./:;=?@^-_'。
    • 值(value):一个键下可以配置多个值。只能包含英文字母、数字和特殊字符!$'()*+,./:;=?@^-_'。还支持*和?两种通配符。

    queryStringConfig仅能设置一个Key,如需设置多个Key,请配置多组QueryStringConfig规则块。

    { 
       "type": "QueryString", 
       "queryStringConfig": { 
          "key": "querykey", 
          "values": [ 
              "queryvalue" 
          ] 
       } 
    }

    sourceIpConfig

    触发转发的请求网段,仅当type参数值为SourceIp时使用。

    网段示例: 192.168.1.0/24或2020:50::44/127

    sourceIpConfig无需设置key,仅设置values即可,values为数组。

    { 
       "type": "SourceIp", 
       "sourceIpConfig": { 
          "values": [ 
             "192.168.0.0/16", 
             "172.16.0.0/16" 
          ] 
       } 
    }

  3. 创建Ingress。

    kubectl create -f ingress-test.yaml

    回显如下,表示Ingress服务已创建。

    ingress/ingress-test created

  4. 查看已创建的Ingress。

    kubectl get ingress
    回显如下,表示Ingress服务创建成功。
    NAME          CLASS    HOSTS     ADDRESS          PORTS   AGE
    ingress-test  cce      *         121.**.**.**     80      10s

场景二:为ELB Ingress配置高级转发动作

以下示例将为您介绍如何为ELB Ingress配置写入/删除请求头、返回固定响应、限速、转发至自定义后端服务器组。

组合使用场景

高级转发规则与转发动作组合使用,可以满足各种多样化的需求,例如:

1.当访问Ingress时,满足以下转发规则

2.将执行以下转发动作

3.访问的目标Service(后端服务)

  • 域名为example.com
  • 路径为/path1
  • 且同时满足多种高级转发规则:
    • 请求方法为GET、POST
    • 请求头为gray-hello:value1或gray-hello:value2
    • 请求Cookie为cookiekey1:cookievalue1或cookiekey2:cookievalue2
    • 请求Query字符串为querykey:queryvalue
    • 请求源IP网段为:192.168.0.0/16或172.16.0.0/16

转发时执行以下动作:

  • 添加用户自定义的请求头aa:aa
  • 删除键为dd的请求头

test

  • 域名为example.com
  • 路径为/path2

转发时执行以下动作:

  • 返回固定响应:返回状态码为503,内容为“503 error text”。
  • 设置限速:总QPS(每秒查询速率)为67,基于客户端源IP的QPS为3

test2

  • 域名为example.com
  • 路径为/path3

转发时执行以下动作:

  • 同时转发到test和test2的Service,其中test权重为90,test2权重为10
  • 设置限速:总QPS(每秒查询速率)为67,基于客户端源IP的QPS为3
  • 添加用户自定义的请求头aa:aa

test和test2

上述场景对应的示例如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-demo
  namespace: default
  annotations:
    kubernetes.io/elb.class: performance
    kubernetes.io/elb.id: *****
    kubernetes.io/elb.listener-master-ingress: default/ingress-demo
    kubernetes.io/elb.port: '80' 
    # 以下注解作用于名为test的Service,为其同时添加多种ELB转发匹配条件
    kubernetes.io/elb.conditions.test: |  
        [ 
          { 
            "type": "Method", 
            "methodConfig": { 
              "values": [ 
                "GET", 
                "POST" 
              ] 
            } 
          }, 
          { 
            "type": "Header", 
            "headerConfig": { 
              "key": "gray-hello", 
              "values": [ 
                "value1", 
                "value2" 
              ] 
            } 
          }, 
          { 
            "type": "Cookie", 
            "cookieConfig": { 
              "values": [ 
                { 
                  "key": "cookiekey1", 
                  "value": "cookievalue1" 
                }, 
                { 
                  "key": "cookiekey2", 
                  "value": "cookievalue2" 
                } 
              ] 
            } 
          }, 
          { 
            "type": "QueryString", 
            "queryStringConfig": { 
              "key": "querykey", 
              "values": [ 
                "queryvalue" 
              ] 
            } 
          }, 
          { 
            "type": "SourceIp", 
            "sourceIpConfig": { 
              "values": [ 
                "192.168.0.0/16", 
                "172.16.0.0/16" 
              ] 
            } 
          } 
        ]  
    # 以下注解作用于名为test的Service,配置写入和删除Header的转发动作
    kubernetes.io/elb.actions.test: |
      [{
          "type": "InsertHeader",
          "InsertHeaderConfig": {
              "key": "aa",
              "value_type": "USER_DEFINED",
              "value": "aa"
          }
      },{
          "type": "RemoveHeader",
          "RemoveHeaderConfig": {
              "key": "dd"
          }
      }]   
    # 以下注解作用于名为test2的Service,返回固定响应并同时设置限速
    kubernetes.io/elb.actions.test2: |
        [{ 
          "type": "FixedResponse", 
          "fixedResponseConfig": { 
              "contentType": "text/plain", 
              "statusCode": "503",
              "messageBody": "503 error text"  
          }},{
         "type": "TrafficLimit",
         "TrafficLimItConfig": {
             "perSourceIpQps": 3,
             "qps": 67
                }}
         ]
    # 以下注解作用于名为test3的Service,将请求转发到自定义后端服务器组(test和test2),同时写入Header并配置限速
    kubernetes.io/elb.actions.test3: | 
      [{
          "type": "InsertHeader",
          "InsertHeaderConfig": {
              "key": "aa",
              "value_type": "USER_DEFINED",
              "value": "aa"
          }
      },{
       "type": "ForwardPool",
       "forwardConfig": [{
            "serviceName": "test",
            "servicePort": 80,
            "weight": 90,
            "type": "service"
         },{
            "serviceName": "test2",
            "servicePort": 80,
            "weight": 10,
            "type": "service"
         }]
       },{
       "type": "TrafficLimit",
       "TrafficLimItConfig": {
           "perSourceIpQps": 3,
           "qps": 67
           }}
       ]
spec:
  ingressClassName: cce
  rules:
    - host: example.com
      http:
        paths:
          - path: /path1
            pathType: ImplementationSpecific
            backend:
              service:
                name: test
                port:
                  number: 80
            property:
              ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
          - path: /path2
            pathType: ImplementationSpecific
            backend:
              service:
                name: test2
                port:
                  number: 80
            property:
              ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
          - path: /path3
            pathType: ImplementationSpecific
            backend:
              service:
                name: test3
                port:
                  name: use-annotation  # 高级转发动作中指定了转发到自定义后端服务器组时("type": "ForwardPool"),需要指定port.name=use-annotation
            property:
              ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH

相关文档