Policy
Before StartYou should have NO virtualservice nor destinationrule (in tutorial namespace) kubectl get virtualservice kubectl get destinationrule if so run:
|
Rate Limiting (Not working yet in 1.1)
The Rate Limiting rules take some time to be applied and reflected. Be patient here! |
Here we will limit the number of concurrent requests into recommendation v2
Now apply the rate limit handler
kubectl create -f istiofiles/recommendation_rate_limit_handler.yml
Now setup the requestcount quota
kubectl create -f istiofiles/rate_limit_rule.yml
Throw some requests at customer:
You should see some 429 errors:
customer => preference => recommendation v2 from '2819441432-f4ls5': 108
customer => preference => recommendation v1 from '99634814-d2z2t': 1932
customer => preference => recommendation v2 from '2819441432-f4ls5': 109
customer => preference => recommendation v1 from '99634814-d2z2t': 1933
customer => 503 preference => 429 RESOURCE_EXHAUSTED:Quota is exhausted for: RequestCount
customer => preference => recommendation v1 from '99634814-d2z2t': 1934
customer => preference => recommendation v2 from '2819441432-f4ls5': 110
customer => preference => recommendation v1 from '99634814-d2z2t': 1935
customer => 503 preference => 429 RESOURCE_EXHAUSTED:Quota is exhausted for: RequestCount
customer => preference => recommendation v1 from '99634814-d2z2t': 1936
customer => preference => recommendation v2 from '2819441432-f4ls5': 111
customer => preference => recommendation v1 from '99634814-d2z2t': 1937
customer => 503 preference => 429 RESOURCE_EXHAUSTED:Quota is exhausted for: RequestCount
customer => preference => recommendation v1 from '99634814-d2z2t': 1938
customer => preference => recommendation v2 from '2819441432-f4ls5': 112
Clean up
kubectl delete -f istiofiles/rate_limit_rule.yml
kubectl delete -f istiofiles/recommendation_rate_limit_handler.yml
or you can run:
./scripts/clean.sh tutorial