首次提交:初始化项目
This commit is contained in:
58
009-基础设施/008-portainer/keda-scaler.yaml
Normal file
58
009-基础设施/008-portainer/keda-scaler.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
# HTTPScaledObject - 用于实现缩容到 0 的核心配置
|
||||
apiVersion: http.keda.sh/v1alpha1
|
||||
kind: HTTPScaledObject
|
||||
metadata:
|
||||
name: portainer-http-scaler
|
||||
namespace: portainer
|
||||
spec:
|
||||
hosts:
|
||||
- portainer.u6.net3w.com
|
||||
pathPrefixes:
|
||||
- /
|
||||
scaleTargetRef:
|
||||
name: portainer
|
||||
kind: Deployment
|
||||
apiVersion: apps/v1
|
||||
service: portainer
|
||||
port: 9000
|
||||
replicas:
|
||||
min: 0 # 空闲时缩容到 0
|
||||
max: 3 # 最多 3 个副本
|
||||
scalingMetric:
|
||||
requestRate:
|
||||
granularity: 1s
|
||||
targetValue: 50 # 每秒 50 个请求时扩容
|
||||
window: 1m
|
||||
scaledownPeriod: 300 # 5 分钟无流量后缩容到 0
|
||||
|
||||
---
|
||||
# Traefik Middleware - 设置正确的协议头
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: portainer-headers
|
||||
namespace: keda
|
||||
spec:
|
||||
headers:
|
||||
customRequestHeaders:
|
||||
X-Forwarded-Proto: "https"
|
||||
|
||||
---
|
||||
# Traefik IngressRoute - 将流量路由到 KEDA HTTP Add-on 的拦截器
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: portainer-ingress
|
||||
namespace: keda
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
routes:
|
||||
- match: Host(`portainer.u6.net3w.com`)
|
||||
kind: Rule
|
||||
middlewares:
|
||||
- name: portainer-headers
|
||||
services:
|
||||
- name: keda-add-ons-http-interceptor-proxy
|
||||
port: 8080
|
||||
Reference in New Issue
Block a user