Istio:基于URL的条件速率限制

时间:2018-08-14 09:41:10

标签: kubernetes google-kubernetes-engine rate-limiting istio

我想根据请求中URL的匹配来更新条件速率限制。

我找到了这些文档https://istio.io/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1/#Rule

但是无法找到要使用的正确属性


猜测,我尝试过

apiVersion: config.istio.io/v1alpha2
kind: rule
metadata:
  name: quota
  namespace: istio-system
spec:
  match: match(request.uri, "/A/B/93*") == true
  actions:
  - handler: handler.memquota
    instances:
    - requestcount.quota

但是错误

Unable to compile match condition expression: 'unknown attribute request.uri', rule='quota.rule.istio-system',
enter code here

谢谢, 布伦特

2 个答案:

答案 0 :(得分:0)

来自Istio Google小组的马丁!

我认为,如果您从request.uri更改为request.path,事情应该会开始为您服务。

以下是支持的属性集:https://istio.io/docs/reference/config/policy-and-telemetry/attribute-vocabulary/

我希望这对您有帮助

答案 1 :(得分:0)

速率限制配置分为两部分。

客户端 搅拌机侧面

运行以下命令以使用memquota启用速率限制:

$ kubectl适用-f样本/bookinfo/policy/mixer-rule-productpage-ratelimit.yaml

请参阅随附的链接[1]以启用速率限制。

[1] https://istio.io/docs/tasks/policy-enforcement/rate-limiting/