Kubernetes (Helm) 部署
如果准备把 Luna DevOps 长期运行在 Kubernetes 或 K3s 中,推荐使用 Helm。Chart 会一起部署 API、Worker、PostgreSQL 和 Redis,也可以改为连接已有的外部数据库与 Redis。
开始前准备
你需要:
- 一个可用的 Kubernetes 或 K3s 集群。
- 本机已经配置好
kubectl和helm。 - 集群能拉取 DockerHub 镜像。
- 默认 StorageClass 可用,用来保存 PostgreSQL 和 Redis 数据。
安装
在仓库根目录执行:
这会启动:
打开控制台
先把 API Service 转发到本机:
然后访问:
使用固定版本
通过公网域名访问
如果通过 Ingress 暴露控制台,把 app.publicBaseUrl 改成用户真实访问的地址:
app.publicBaseUrl 会影响 OIDC 回调、Webhook 回调和浏览器跨域校验,不要写成集群内 Service 地址。
使用外部 PostgreSQL 或 Redis
内置数据库适合快速启动。生产环境已经有托管 PostgreSQL 或 Redis 时,可以关闭对应内置组件:
内置 Redis 会在首次安装时生成密码,并在 Kubernetes Secret 中分别保存 redis-password 和供 API/Worker 使用的 redis-url,后续升级会复用已有 Secret。为内置 Redis 指定 redis.auth.existingSecret 时,该 Secret 需要同时提供这两个 key。接入外部 Redis 时,可以直接填写 externalRedis.url,也可以使用只包含 redis-url 的 externalRedis.existingSecret。外部 Redis URI 格式为 redis://用户名:密码@域名:端口/数据库,TLS 连接使用 rediss://。
然后安装:
常用配置
卸载
PVC 默认会保留,避免误删数据。确认不再需要这些数据后,再手动清理: