1.3 KiB
1.3 KiB
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