Files
datapod-helm/PRD.md
2026-01-14 12:37:31 +08:00

1.3 KiB
Raw Permalink Blame History

PocketBase Helm Chart 设计文档

概述

使用 Helm Chart 管理多个 PocketBase 实例,每个实例对应独立的域名。

使用k3s集群部署Traefik作为Ingress控制器SQLite作为本地存储。

需求

  • 批量部署多个 PocketBase Pod
  • 每个实例绑定独立域名:{id}.pb.xiongxiao.me
  • 使用 Traefik 作为反向代理和入口控制器
  • 通过 Helm 实现统一配置管理
  • 使用 SQLite 本地存储(默认)

架构

Traefik Ingress
       │
       ▼
┌─────────────────────────────────────┐
│  Helm Release (values.id)           │
│  ├── pocketbase-{id} Service        │
│  │         │                        │
│  │         ▼                        │
│  │   pocketbase-{id} Pod            │
│  │         │                        │
│  └─────────┼──→ {id}.pb.xiongxiao.me
             │
             ▼
         SQLite (本地存储)

配置方式

通过 values.yaml 配置实例列表:

instances:
  - id: "app1"
    domain: "app1.pb.xiongxiao.me"
    replicaCount: 1
  - id: "app2"
    domain: "app2.pb.xiongxiao.me"
    replicaCount: 1

部署命令

helm install pocketbase ./pocketbase -f values.yaml