main:新增健康检查支持和服务优化

- 在 Worker 中引入轻量级 HTTP 服务器,支持健康检查和就绪检查端点。
- 在 Kubernetes 和 Docker 配置中新增健康检查探针,提升服务稳定性。
- 更新依赖,引入 `aiohttp` 用于健康检查服务。
- 优化部署配置,调整 Redis 主机配置和镜像地址以适配新环境。
This commit is contained in:
2026-02-04 11:58:56 +08:00
parent e0138d5531
commit 55419443cd
6 changed files with 107 additions and 14 deletions

View File

@@ -45,6 +45,9 @@ services:
build:
context: ..
dockerfile: deployment/Dockerfile
platform: linux/amd64
ports:
- "8112:8000"
environment:
- APP_ENV=development
- LOG_LEVEL=INFO
@@ -69,6 +72,12 @@ services:
depends_on:
redis:
condition: service_healthy
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/healthz')"]
interval: 30s
timeout: 3s
retries: 3
start_period: 10s
deploy:
replicas: 2

View File

@@ -127,16 +127,25 @@ spec:
limits:
memory: "512Mi"
cpu: "500m"
# Worker 有 HTTP 端口,使用命令探针
# Worker 现在有 HTTP 健康检查端点
ports:
- containerPort: 8000
name: http
livenessProbe:
exec:
command:
- python
- -c
- "import redis; r = redis.Redis(host='functional-scaffold-redis'); r.ping()"
httpGet:
path: /healthz
port: 8000
initialDelaySeconds: 10
periodSeconds: 30
timeoutSeconds: 5
timeoutSeconds: 3
failureThreshold: 3
readinessProbe:
httpGet:
path: /readyz
port: 8000
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 3
---

View File

@@ -5,11 +5,11 @@ name: functional-scaffold
access: default
vars:
region: cn-hangzhou
image: registry.cn-hangzhou.aliyuncs.com/your-namespace/functional-scaffold:latest
redis_host: r-xxxxx.redis.rds.aliyuncs.com
region: cn-beijing
image: crpi-om2xd9y8cmaizszf-vpc.cn-beijing.personal.cr.aliyuncs.com/test-namespace-gu/fc-test:test-v1
redis_host: 172.17.133.51
redis_port: "6379"
redis_password: "your-password"
redis_password: "roog-pass-redis"
resources:
# API 服务函数
@@ -78,6 +78,13 @@ resources:
port: 8000
command:
- /app/entrypoint.sh
healthCheckConfig:
httpGetUrl: /healthz
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 3
successThreshold: 1
environmentVariables:
APP_ENV: production
LOG_LEVEL: INFO