Files

3.2 KiB

============================================

HYC下载站 v2.3 - Kubernetes 部署指南

============================================

快速部署

1. 创建命名空间 (可选)

kubectl create namespace hyc
kubectl config set-context --current --namespace=hyc

2. 部署应用

# 使用内置 PostgreSQL 和 Redis (可选)
kubectl apply -f deployment.yaml
kubectl apply -f postgres.yaml
kubectl apply -f redis.yaml

# 或只部署应用,使用外部数据库
kubectl apply -f deployment.yaml

3. 验证部署

# 查看 Pods
kubectl get pods -l app=hyc-download-server

# 查看日志
kubectl logs -l app=hyc-download-server -f

# 查看服务
kubectl get svc hyc-server

4. 访问应用

# Port Forward (开发环境)
kubectl port-forward svc/hyc-server 8080:8080

# 浏览器访问
# http://localhost:8080
# 管理界面: http://localhost:8080/api/ui/

生产环境部署

1. 构建并推送镜像

# 构建镜像
docker build -t hx100cv/hyc-download-station:v2.3 .

# 推送镜像
docker push hx100cv/hyc-download-station:v2.3

# 更新 deployment.yaml 中的镜像地址

2. 配置域名和 TLS

# 编辑 deployment.yaml,修改 Ingress 配置
# 添加 TLS secret
kubectl create secret tls hyc-tls-secret --cert=certificate.crt --key=private.key

# 应用配置
kubectl apply -f deployment.yaml

3. 配置资源限制

# 根据实际需求调整 deployment.yaml 中的资源限制
resources:
  requests:
    cpu: 500m
    memory: 512Mi
  limits:
    cpu: 2000m
    memory: 2Gi

4. 配置 HPA (自动扩缩容)

# HPA 已内置,查看状态
kubectl get hpa hyc-hpa
kubectl top pods

使用外部数据库

PostgreSQL

# 设置环境变量或 Secret
export DB_TYPE=postgresql
export DB_HOST=your-postgres-host
export DB_PORT=5432
export DB_NAME=hyc
export DB_USER=postgres
export DB_PASSWORD=your-password

# 或使用连接字符串
export DB_CONN_STR=postgresql://user:pass@host:5432/database

MySQL

export DB_TYPE=mysql
export DB_HOST=your-mysql-host
export DB_PORT=3306
export DB_NAME=hyc
export DB_USER=root
export DB_PASSWORD=your-password

监控

Prometheus + Grafana

# ServiceMonitor 已内置
# 确保 Prometheus Operator 已安装
kubectl get servicemonitor hyc-monitor

# Grafana Dashboard (导入 json/dashboard.json)

日志

# 查看应用日志
kubectl logs -l app=hyc-download-server --tail=100

# 实时日志
kubectl logs -l app=hyc-download-server -f

升级

# 更新镜像版本
kubectl set image deployment/hyc-server hyc-server=hx100cv/hyc-download-station:v2.4

# 查看滚动更新
kubectl rollout status deployment/hyc-server

# 回滚 (如有问题)
kubectl rollout undo deployment/hyc-server

卸载

# 删除所有资源
kubectl delete -f deployment.yaml
kubectl delete -f postgres.yaml
kubectl delete -f redis.yaml

# 删除 PVC (数据将丢失)
kubectl delete pvc hyc-data-pvc hyc-downloads-pvc hyc-cache-pvc