以下K8s实现正确创建了一个IngressRoute,但是未应用速率限制。
kind: Deployment
apiVersion: apps/v1
metadata:
name: whoami
labels:
app: containous
name: whoami
namespace: whoami
spec:
replicas: 2
selector:
matchLabels:
app: containous
task: whoami
template:
metadata:
labels:
app: containous
task: whoami
spec:
containers:
- name: containouswhoami
image: containous/whoami
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: crd-traefik-test
namespace: whoami
spec:
ports:
- name: http
port: 80
selector:
app: containous
task: whoami
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: rate-limiting-test
namespace: whoami
spec:
entryPoints:
- web
routes:
- middlewares:
- name: crd-service-rate-limiter
- match: Path(`/bar`)
kind: Rule
services:
- name: crd-traefik-test
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: crd-service-rate-limiter
namespace: whoami
spec:
rateLimit:
average: 1
period: 100
有人可以帮忙吗?
欢呼
答案 0 :(得分:0)
这是我对定义路径前缀带的中间件资源的使用
yaml:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: auth-ingress-route
spec:
entryPoints:
- http
routes:
- match: Host(`stuff`) && PathPrefix(`/api/auth`)
kind: Rule
middlewares:
- name: strip-auth-prefix
services:
- name: auth-srv
port: 3000
json:
{
"apiVersion": "traefik.containo.us/v1alpha1",
"kind": "IngressRoute",
"metadata": {
"name": "auth-ingress-route"
},
"spec": {
"entryPoints": [
"http"
],
"routes": [
{
"match": "Host(`ticketing`) && PathPrefix(`/api/auth`)",
"kind": "Rule",
"middlewares": [
{
"name": "strip-auth-prefix"
}
],
"services": [
{
"name": "auth-srv",
"port": 3000
}
]
}
]
}
}
这是你的版本,在 YAML 和 JSON 中
yaml:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: rate-limiting-test
namespace: whoami
spec:
entryPoints:
- web
routes:
- middlewares:
- name: crd-service-rate-limiter
- match: Path(`/bar`)
kind: Rule
services:
- name: crd-traefik-test
port: 80
json:
{
"apiVersion": "traefik.containo.us/v1alpha1",
"kind": "IngressRoute",
"metadata": {
"name": "rate-limiting-test",
"namespace": "whoami"
},
"spec": {
"entryPoints": [
"web"
],
"routes": [
{
"middlewares": [
{
"name": "crd-service-rate-limiter"
}
]
},
{
"match": "Path(`/bar`)",
"kind": "Rule",
"services": [
{
"name": "crd-traefik-test",
"port": 80
}
]
}
]
}
}
我会让你弄清楚为什么它可能不起作用