|
|
||
|---|---|---|
| .. | ||
| README.md | ||
| deployment.yaml | ||
| secret.yaml.example | ||
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
外部访问
如果需要外部访问,可以:
- 使用 NodePort 或 LoadBalancer 类型的 Service
- 配置 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>