安装部署

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 linkoo

HPA(水平自动扩缩容)可与资源指标配合,根据 CPU/内存自动调整副本数。

升级

helm repo update
helm upgrade linkoo linkoo/linkoo -f values.yaml -n linkoo

Helm 会执行滚动更新,零停机完成版本升级。

生产建议:为数据库和 Redis 配置独立的高可用集群(如云托管服务), 链盒本身无状态可随意扩缩。配合系统架构理解各组件职责。

回滚

如果新版本有问题,Helm 支持快速回滚:

helm history linkoo -n linkoo          # 查看历史版本
helm rollback linkoo 1 -n linkoo     # 回滚到指定版本