Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for envoy rate limit #1357

Open
ckcd opened this issue Mar 27, 2020 · 4 comments
Open

Support for envoy rate limit #1357

ckcd opened this issue Mar 27, 2020 · 4 comments
Labels
area/networking kind/enhancement lifecycle/needs-triage Indicates a new PR or issue needs to be triaged

Comments

@ckcd
Copy link
Contributor

ckcd commented Mar 27, 2020

Describe the feature request
In https://istio.io/docs/tasks/policy-enforcement/rate-limiting/ it said that:

Consider using Envoy native rate limiting instead of mixer rate limiting. Istio will add support for native rate limiting API through the Istio extensions API.

just want to know are we working on this Envoy native rate limiting ? and if yes, where are these extensions API.

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience

@sb1975
Copy link

sb1975 commented Jun 10, 2020

I am also confused about the Rate Limit feature - https://istio.io/docs/tasks/policy-enforcement/rate-limiting/
Is it supported in present Istio 1.6.1 ? Will the steps specified work ?
The link mentions using Envoy native rate limiting but it is very unclear what,how and where the Envoy rate limit would need to be configured please ?

@mandarjog
Copy link
Contributor

@gargnupur is adding a full working example to docs using existing envoy filter.

Istio 1.7 will have extension api that will provide a supported way to configure native rate limiting.

@istio-policy-bot istio-policy-bot added the lifecycle/needs-triage Indicates a new PR or issue needs to be triaged label Jun 10, 2020
@gargnupur
Copy link
Contributor

There is draft PR that you can look at in the mean time: istio/istio#23513
and istio/istio#22068 has lot of good examples of people actually using it...

@sb1975
Copy link

sb1975 commented Jun 10, 2020

Yes, I checked it, it has lot of details but unfortunately very complex.
So if I want something like this in the EnvoyFilter to work, how do I make it work
`domain: edge_proxy_per_ip
descriptors:

  • key: remote_address
    rate_limit:
    unit: second
    requests_per_unit: 10

Black list IP

  • key: remote_address
    value: 50.0.0.5
    rate_limit:
    unit: second
    requests_per_unit: 0`

I am not getting clarity whats domain, how the key value will be matched ?
Does the domain must match the actual FQDN of source domain from where the request is coming ?
Is the key value must be passed in the header when making a curl request from the source and then it applies ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/networking kind/enhancement lifecycle/needs-triage Indicates a new PR or issue needs to be triaged
Projects
None yet
Development

No branches or pull requests

5 participants