Helm (Kubernetes) 部署
在 Kubernetes 集群上用 Helm 部署链盒,适合中大型企业,支持弹性扩缩容与高可用。
前提条件
- 一个运行中的 Kubernetes 集群(1.24+)
- 已安装 Helm 3
- 集群中已部署 PostgreSQL 与 Redis(或使用云托管服务)
- 足够的资源配额(建议每实例 2 核 4G 起)
添加 Helm 仓库
helm repo add linkoo https://charts.linkoo.cn
helm repo update准备配置文件
创建 values.yaml 定制部署:
# values.yaml
image:
repository: linkoo/linkoo
tag: 0.83.0
# 数据库连接
database:
host: postgres.database.svc.cluster.local
port: 5432
name: linkoo
user: linkoo
passwordSecret: linkoo-db-secret
# Redis 连接
redis:
host: redis.cache.svc.cluster.local
port: 6379
# Webhook 回调地址(必须是公网可达)
webhookUrl: https://linkoo.example.com
# 副本数(高可用建议 >= 2)
replicaCount: 2
# 资源配额
resources:
requests:
cpu: "1000m"
memory: "2Gi"
limits:
cpu: "2000m"
memory: "4Gi"
ingress:
enabled: true
hostname: linkoo.example.com
tls: true部署
先创建数据库密码 Secret:
kubectl create secret generic linkoo-db-secret \
--from-literal=password='你的强密码'然后安装 Chart:
helm install linkoo linkoo/linkoo \
-f values.yaml \
-n linkoo --create-namespace验证部署
kubectl get pods -n linkoo
kubectl get ingress -n linkoo等待所有 Pod 进入 Running 状态,Ingress 分配到地址后即可访问。
扩缩容
修改 replicaCount 后执行:
helm upgrade linkoo linkoo/linkoo -f values.yaml -n linkooHPA(水平自动扩缩容)可与资源指标配合,根据 CPU/内存自动调整副本数。
升级
helm repo update
helm upgrade linkoo linkoo/linkoo -f values.yaml -n linkooHelm 会执行滚动更新,零停机完成版本升级。
生产建议:为数据库和 Redis 配置独立的高可用集群(如云托管服务), 链盒本身无状态可随意扩缩。配合系统架构理解各组件职责。
回滚
如果新版本有问题,Helm 支持快速回滚:
helm history linkoo -n linkoo # 查看历史版本
helm rollback linkoo 1 -n linkoo # 回滚到指定版本