日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

ASMLocalRateLimiter CRD說明

ASM通過ASMLocalRateLimiter CRD實現本地限流的聲明式配置。本文介紹ASMLocalRateLimiter的配置示例和字段說明。

配置示例

以下配置表示對網關進行限流,從流量入口處進行限流,防止下游服務被壓垮。設置seconds1quota100,表示1s內發放100個令牌,即網關1s內最多處理100個請求。

說明

配置中的limit.quota只針對單個網關實例生效,若網關有n個實例,test1該路由對應的后端服務限流閾值則為n * quota,若調整了網關實例個數,需要對應調整限流閾值。

apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMLocalRateLimiter
metadata:
  name: for-api-test
  namespace: default
spec:
  workloadSelector:
    labels:
      app: istio-ingressgateway
  isGateway: true
  configs:
    - match:
        vhost:
          name: "www.example1.com"   # 如果gateway中配置了多個host域名,填寫最后一個即可。
          port: 80
          route:
            name_match: "test1"   # VirtualService路由配置中對應route的name,若VirtualService路由配置下沒有對應name的路由,則不生效。
      limit:
         fill_interval:
            seconds: 1
         quota: 10
    - match:
        vhost:
          name: "www.example2.com"
          port: 80
          route:
            name_match: "test1"
      limit:
         fill_interval:
            seconds: 1
         quota: 100

字段說明

apiVersion

  • 若ASM實例版本為1.15.3.105及以上,支持使用apiVersion: istio.alibabacloud.com/v1。若您在ACK集群進行了相關配置,請將對應的ASMLocalRateLimiter CRD中的apiVersion: istio.alibabacloud.com/v1beta1修改為apiVersion: istio.alibabacloud.com/v1,再重新進行部署。

  • 若ASM實例版本為1.15.3.105以下,支持使用apiVersion: istio.alibabacloud.com/v1beta1

spec

spec字段配置說明如下。關于ASMLocalRateLimiter的功能介紹和使用示例,請參見為入口網關配置本地限流

字段

類型

是否必須

說明

workloadSelector

map<string, string>

通過一個或多個標簽,指明限流配置生效的一組特定的Pod。標簽搜索的范圍限制在資源所在的配置命名空間。更多信息,請參見Workload Selector

isGateway

bool

是否作用于網關,默認為false

configs

LocalRateLimiterConfig[]

本地限流配置,可配置多條。

LocalRateLimiterConfig

字段

類型

是否必須

說明

name

string

單條限流配置的名稱。

match

RatelimitMatch

匹配條件。

limit

LimitConfig

限流閾值配置。

limit_overrides

RateLimitOverrideConfig[]

限流閾值覆蓋配置。可通過該字段針對特定的請求指定單獨的限流閾值。支持配置多個覆蓋配置。

說明

僅支持ASM 1.19.0及以上版本。

RatelimitMatch

字段

類型

是否必須

說明

vhost

VirtualHostMatch

VirtualHost匹配條件。

LimitConfig

字段

類型

是否必須

說明

fill_interval

Duration

令牌填充時間單位,例如seconds: 1或者nanos: 1000nanos表示納秒。

quota

int

令牌數量,必須為整數,例如:1000。

per_downstream_connection

bool

指定速率限制器的令牌桶的范圍。默認為false

取值說明如下:

  • false:令牌桶將在所有工作線程共享,速率限制將應用于每個Envoy進程。

  • true:為每個連接分配一個令牌桶,速率限制適用于每個連接,允許在每個連接的基礎上對請求進行速率限制。

說明

僅支持ASM 1.13.4及以上版本。

custom_response_body

string

當請求被限制時,自定義返回Body內容。

說明

僅支持ASM 1.13.4及以上版本。

response_header_to_add

map[string]string

當請求被限制時,自定義添加Header內容。

說明

僅支持ASM 1.13.4及以上版本。

RateLimitOverrideConfig

字段

類型

是否必須

說明

request_match

RequestMatcher

限流閾值覆蓋配置指定的請求匹配條件。只有匹配條件的請求會應用覆蓋配置中的限流閾值。

limit

LimitConfig

限流閾值覆蓋配置指定的請求限流閾值。

說明

當在限流閾值覆蓋配置(RateLimitOverrideConfig)中聲明limit字段時,只有fill_interval和quota字段生效,其它字段(per_downstream_connection、custom_response_body、response_header_to_add)與LocalRateLimiterConfig.limit字段中的聲明保持一致。

VirtualHostMatch

字段

類型

是否必須

說明

name

string

匹配的VirtualHost名稱。

port

int

匹配的請求端口。

route

RouteMatch

匹配的請求接口對應的路由名稱。

RouteMatch

字段

類型

是否必須

說明

name_match

string

匹配的路由名稱,對應VirtualService下的單條路由名稱。

header_match

HeaderMatcher[]

匹配服務請求的header,支持配置多個。

重要

在ASM 1.19.0及以上版本,該字段被標注為廢棄(Deprecated),請使用RateLimitOverrideConfig對請求進行匹配。

RequestMatcher

說明

RequestMatcher中的多個字段可以同時使用。同時使用時,請求必須同時符合每個字段的匹配條件才會被匹配。

字段

類型

是否必須

說明

header_match

HeaderMatcher[]

匹配請求的header,支持配置多個。

query_match

QueryParameterMatcher[]

匹配請求的查詢參數(query params),支持配置多個。

HeaderMatcher

字段

類型

是否必須

說明

name

string

Header名稱。

任選其一

regex_match

string

正則表達式匹配。

exact_match

string

精確匹配。

prefix_match

string

前綴匹配,以什么開頭進行匹配。

suffix_match

string

后綴匹配,以什么結尾進行匹配。

present_match

bool

  • 配置為true,表示存在Header即可,無需關注Header Value的取值。

  • 配置為false,表示不存在Header。

invert_match

bool

默認為false

  • 配置為true,表示上述匹配結果取反。

  • 配置為false,表示遵循上述匹配結果。

QueryParameterMatcher

字段

類型

是否必須

說明

name

string

查詢參數的名稱。

任選其一

exact_match

string

精確匹配查詢參數的內容。

prefix_match

string

前綴匹配查詢參數的內容。

suffix_match

string

后綴匹配查詢參數的內容。

regex_match

string

正則表達式匹配查詢參數的內容。

contains_match

string

包含匹配查詢參數的內容,即要求查詢參數的內容必須包含某個子串。

present_match

bool

  • 配置為true,表示進行存在性匹配,即存在指定的查詢參數即可,不關注內容。

  • 不能配置false,配置為false等同于不配置,需要指定其他匹配條件。

ignore_case

bool

是否在匹配查詢參數時忽略大小寫。