kubernetes - 大使速率限制无法正常工作
问题描述
我正在尝试按照本教程对大使进行速率限制。我正在使用 minikube 和本地 docker 映像。我已经测试了所有 api 在部署到 Kubernetes 后都正确响应,只有限速功能不起作用。
这是我的 deploy.yaml
---
apiVersion: v1
kind: Service
metadata:
name: nodejs-deployment
spec:
ports:
- name: http
port: 80
targetPort: 3000
- name: https
port: 443
targetPort: 3000
selector:
app: nodejs-deployment
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nodejs-deployment
spec:
selector:
matchLabels:
app: nodejs-deployment
replicas: 2
template:
metadata:
labels:
app: nodejs-deployment
spec:
containers:
- name: nodongo
image: soham/nodejs-starter
imagePullPolicy: "Never"
ports:
- containerPort: 3000
这是我的 rate-limit.yaml
---
apiVersion: getambassador.io/v2
kind: Mapping
metadata:
name: nodejs-backend
spec:
prefix: /delete/
service: nodejs-deployment
labels:
ambassador:
- request_label_group:
- delete
---
apiVersion: getambassador.io/v2
kind: RateLimit
metadata:
name: backend-rate-limit
spec:
domain: ambassador
limits:
- pattern: [{generic_key: delete}]
rate: 1
unit: minute
injectResponseHeaders:
- name: "x-test-1"
value: "my-rl-test"
当我执行命令时——curl -vLk 10.107.60.125/delete/
它正在返回
* Trying 10.107.60.125:80...
* TCP_NODELAY set
* Connected to 10.107.60.125 (10.107.60.125) port 80 (#0)
> GET /delete/ HTTP/1.1
> Host: 10.107.60.125
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< X-Powered-By: Express
< Content-Type: text/html; charset=utf-8
< Content-Length: 11
< ETag: W/"b-CgqQ9sWpkiO3HKmStsUvuC/rZLU"
< Date: Tue, 03 Nov 2020 17:13:00 GMT
< Connection: keep-alive
<
* Connection #0 to host 10.107.60.125 left intact
Delete User
我得到的响应是 200 但是我期待 429 错误代码。
解决方案
推荐阅读
- .htaccess - 如何重定向(htaccess)目录中的所有 URL?
- javascript - 通过选择器以编程方式访问 d3.js v6 可折叠树中的数据
- javascript - 在 Azure Web Apps 或 Azure Functions 上远程调试 Windows Node.js 应用程序
- python - SageMath:获取矩阵的虚部
- c++ - 将继承函数更改为纯虚函数
- javascript - ReferenceError:客户端未定义 Socket.io
- javascript - 如何使用jQuery从动态生成的内容的每个div中获取属性值?
- qt - QProcess 无法将命令写入程序
- c# - 创建继承接口的对象
- database - 如何将非规范化表(M:M)分解为数据模型(来自同一个表)?