remote-task-excutor-cli/k8s
somunslotus 3dcde360e6 从环境变量读取nacos配置 2026-01-30 14:38:52 +08:00
..
README.md 新增http server部署脚本 2026-01-29 14:21:21 +08:00
deployment.yaml 从环境变量读取nacos配置 2026-01-30 14:38:52 +08:00
secret.yaml.example 新增http server部署脚本 2026-01-29 14:21:21 +08:00

README.md

Kubernetes 部署说明

文件说明

  • deployment.yaml: Deployment 和 Service 配置(包含 hostPath 挂载到 /remote-task/data
  • secret.yaml.example: Secret 配置示例(需要创建真实的 secret.yaml

部署步骤

1. 构建镜像

在项目根目录执行:

# 使用默认 latest 标签
./scripts/build-server-image.sh

# 或指定标签
./scripts/build-server-image.sh v1.0.0

2. 创建 Secret如果需要

如果需要使用 MySQL 或其他敏感配置,创建 Secret

# 方式1: 使用 kubectl 命令创建
kubectl create secret generic remote-task-executor-secret \
  --from-literal=mysql-dsn='user:password@tcp(host:port)/remote-task?charset=utf8mb4&parseTime=true&loc=Local' \
  --namespace=default

# 方式2: 复制示例文件并修改后应用
cp k8s/secret.yaml.example k8s/secret.yaml
# 编辑 k8s/secret.yaml填入真实值
kubectl apply -f k8s/secret.yaml

3. 部署到 Kubernetes

# 部署到默认命名空间
./scripts/deploy-server.sh

# 或指定命名空间
./scripts/deploy-server.sh production

4. 验证部署

# 查看 Deployment 状态
kubectl get deployment remote-task-executor-server

# 查看 Pod 状态
kubectl get pods -l app=remote-task-executor-server

# 查看 Service
kubectl get svc remote-task-executor-server

# 查看日志
kubectl logs -f deployment/remote-task-executor-server

5. 卸载(如果需要)

./scripts/undeploy-server.sh

配置说明

环境变量

可以通过修改 deployment.yaml 中的 env 部分添加环境变量。

资源限制

当前配置:

  • 请求: 512Mi 内存, 500m CPU
  • 限制: 2Gi 内存, 2000m CPU

可根据实际需求调整 deployment.yaml 中的 resources 部分。

副本数

默认副本数为 2可在 deployment.yaml 中修改 spec.replicas

健康检查

  • Liveness Probe: 检查应用是否存活
  • Readiness Probe: 检查应用是否就绪
  • Startup Probe: 检查应用是否启动完成

所有探针都使用 /health 端点。

访问服务

集群内访问

# 获取 Service 的 ClusterIP
kubectl get svc remote-task-executor-server

# 在集群内通过 Service 名称访问
curl http://remote-task-executor-server/health

外部访问

如果需要外部访问,可以:

  1. 使用 NodePort 或 LoadBalancer 类型的 Service
  2. 配置 Ingress参考 deployment.yaml 中的注释部分)

故障排查

查看 Pod 日志

kubectl logs -f deployment/remote-task-executor-server

进入 Pod 调试

kubectl exec -it deployment/remote-task-executor-server -- /bin/sh

查看事件

kubectl get events --sort-by='.lastTimestamp'

查看 Pod 详细信息

kubectl describe pod <pod-name>