部署
K8s 部署
前置条件
Teable 镜像
- 应用镜像:
registry.cn-shenzhen.aliyuncs.com/teable/teable-ee:latest
- 数据库初始化镜像:
registry.cn-shenzhen.aliyuncs.com/teable/teable-db-migrate-ee:latest
运行环境
- 运行中的 Kubernetes 集群
已配置的外部服务
数据库服务
- PostgreSQL 数据库: postgres:15.4(版本号大于 12)
- PG 镜像:
registry.cn-shenzhen.aliyuncs.com/teable/postgres:15.4
- PolarDB(信创替代方案)镜像:
registry.cn-hangzhou.aliyuncs.com/polardb_pg/polardb_pg_local_instance:15
- PG 镜像:
缓存服务
- Redis 缓存服务: redis:7.2.4(版本号大于 5)
- Redis 镜像:
registry.cn-shenzhen.aliyuncs.com/teable/redis:7.2.4
- Redis 镜像:
对象存储服务
- MinIO 对象存储服务: minio:RELEASE.2024-10-13T13-34-11Z-cpuv1
- MinIO 镜像:
registry.cn-shenzhen.aliyuncs.com/teable/minio:RELEASE.2024-10-13T13-34-11Z-cpuv1
- 注意: 可以直接使用最新版本,或者使用云存储,配置参考,下方示例使用 minio 来做例子。
- MinIO 镜像:
必要工具
- kubectl 命令行工具
依赖组件配置
文件存储 minio
文件存储服务需要支持外网访问(即终端用户可直接访问到)
- 公共可读 bucket, 配置权限为公共可读
- 私有的 bucket, 无需配置权限
Teable Minio 环境变量总览
数据库
需要创建一个具有管理员权限的数据库账户,以及一个数据库,并且设置密码。 对应环境变量示例:
- 数据库名称: teable
- 密码:your-password
- 账号: postgres
- 端口: 5432
缓存 Redis
Teable 配置 redis 缓存只需要提供内网连接地址即可。(注意 Redis 不仅管理缓存还管理队列,不可或缺。数据需要定时备份) 对应环境变量示例
创建配置文件
teable-config.yaml(非敏感配置)
secrets.yaml(敏感信息)
job.yaml
deployment.yaml
service.yaml
ingress.yaml (可选)
部署步骤
- 创建配置和密钥:
- 部署应用:
- 验证部署:
配置注意事项
- 敏感信息管理
- 所有密码、密钥类信息应通过 Secrets 管理
- 数据库配置
- 确保数据库已创建 teable 数据库
- 数据库用户需要具备适当权限
- 建议使用连接池管理数据库连接
- MinIO 配置
- 确保存储桶已创建且权限正确, 一个公共桶,一个私有桶
- 公共桶需要完全公开读
- 内外部访问地址配置正确
- Redis 配置
- 建议启用 Redis 持久化
- 配置适当的内存限制
- 考虑使用 Redis 集群提高可用性
- 安全建议
- 使用强密码和密钥
- 启用 TLS/SSL 加密
- 定期更新证书
- 限制网络访问范围
- 资源配置
- 根据实际负载调整资源限制
- 监控资源使用情况
- 配置适当的健康检查参数
故障排查
- 检查 Pod 状态:
- 查看应用日志:
- 验证配置:
- 检查网络连接: