ASMLocalRateLimiter CRD说明
ASM通过ASMLocalRateLimiter CRD实现本地限流的声明式配置。本文介绍ASMLocalRateLimiter的字段说明。
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的功能介绍和使用示例,请参见使用ASM本地限流功能。
字段 | 类型 | 是否必须 | 说明 |
workloadSelector | map<string, string> | 是 | 通过一个或多个标签,指明限流配置生效的一组特定的Pod或VM。标签搜索的范围限制在资源所在的配置命名空间。更多信息,请参见Workload Selector。 |
isGateway | bool | 否 | 默认为 |
configs | 是 | 本地限流配置,可配置多条。 |
LocalRateLimiterConfig
字段 | 类型 | 是否必须 | 说明 |
name | string | 是 | 单条限流配置的名称。 |
match | 是 | 匹配条件。 | |
limit | 是 | 限流阈值配置。 |
RatelimitMatch
字段 | 类型 | 是否必须 | 说明 |
vhost | 否 | VirtualHost匹配条件。 |
LimitConfig
字段 | 类型 | 是否必须 | 说明 |
fill_interval | Duration | 否 | 令牌填充时间单位,例如 |
quota | int | 否 | 令牌数量,必须为整数,例如:1000。 |
per_downstream_connection | bool | 否 | 指定速率限制器的令牌桶的范围。默认为 取值说明如下:
说明 仅支持ASM1.13.4及以上版本。 |
custom_response_body | string | 否 | 当请求被限制时,自定义返回Body内容。 说明 仅支持ASM1.13.4及以上版本。 |
response_header_to_add | map[string]string | 否 | 当请求被限制时,自定义添加Header内容。 说明 仅支持ASM1.13.4及以上版本。 |
VirtualHostMatch
字段 | 类型 | 是否必须 | 说明 |
name | string | 是 | 匹配的 |
port | int | 否 | 匹配的请求端口。 |
route | 否 | 匹配的请求接口对应的路由名称。 |
RouteMatch
字段 | 类型 | 是否必须 | 说明 |
name_match | string | 否 | 匹配的路由名称,对应 |
header_match | 否 | 匹配服务请求的header,支持配置多个。 |
HeaderMatcher
字段 | 类型 | 是否必须 | 说明 | |
name | string | 否 | Header名称。 | |
任选其一 | regex_match | string | 否 | 正则表达式匹配。 |
exact_match | string | 否 | 精确匹配。 | |
prefix_match | string | 否 | 前缀匹配,以什么开头进行匹配。 | |
suffix_match | string | 否 | 后缀匹配,以什么结尾进行匹配。 | |
present_match | bool | 否 |
| |
invert_match | bool | 否 | 默认为false。
|