用 Helm 部署 Glasskube Operator,通过 CR 自动化管理开源工具及其数据库缓存
Helm 负责安装 Operator 到 Kubernetes,Operator 通过 CR 声明式管理各开源工具及配套基础设施
方案简介
Glasskube Operator 是一个开源 Kubernetes Operator,目标是让开源工具在 Kubernetes 上「自动驾驶」式部署与运维。它把 Gitea、GitLab、Keycloak、Nextcloud 等常用开源工具的部署、配套数据库与缓存的创建、版本升级、数据库备份等操作全部自动化,用户只需提交一个 Custom Resource 即可完成安装。适合希望在 Kubernetes 上以最少手工配置运行和管理多个开源工具的团队与开发者。
亮点与能力
- 👌 极少甚至零配置即可轻松安装
- ✅ 自动配置数据库和缓存
- 🔄 自动化并按计划执行版本更新与补丁
- 🗓️ 按计划进行数据库备份
- ⚙️ 提供简单的 SMTP 配置接口
组成与分工
- Glasskube Operator:核心控制器,监听 Custom Resource 并自动化部署、升级、备份等运维操作
- Kubernetes:运行平台,Operator 以 CRD/自定义资源方式接入集群
- Helm:Operator 本体的安装分发方式,通过官方 chart 仓库部署
- GitLab 等 Supported Tools:被管理的目标开源工具,通过
kubectl apply自定义资源一键安装 - Docker Hub / Artifact Hub:镜像与 Helm chart 的发布渠道
前置要求
- 一个可用的 Kubernetes 集群
- 本地已安装 helm 与 kubectl
- 添加官方 Helm 仓库:
console
helm repo add glasskube https://charts.glasskube.eu/
helm repo update
实施步骤
1. 添加 Helm 仓库并刷新
console
helm repo add glasskube https://charts.glasskube.eu/
helm repo update
2. 用 Helm 安装 Glasskube Operator
helm install my-glasskube-operator glasskube/glasskube-operator
3. 安装你想使用的开源工具
以 Gitlab 为例,应用对应的自定义资源:
kubectl apply -f gitlab.yaml
更多说明与指引可参考官方 Docs。
使用与配置要点
安装 Operator 后,日常使用方式就是为想运行的工具编写/应用对应的 Custom Resource(如 gitlab.yaml),Operator 会自动完成该工具的部署及其数据库、缓存的配置,并按计划处理版本更新、补丁与数据库备份。SMTP 配置也可通过其接口简化完成。
注意事项与常见问题
- 支持的工具以官方列表为准:Gitea、GitLab、GlitchTip、Keycloak、Matomo、Metabase、Nextcloud、Odoo、Plane、Vault,官方会持续新增。
- 如果找不到需要的工具,可以在 Discord 上提出。
- 遇到问题或 bug 可在 Discord 联系社区获取支持。
- 项目采用 LGPL-3.0 许可证。
优缺点
- ✓ 极少配置即可安装
- ✓ 自动调度版本更新与备份
- ✕ 支持工具列表有限
- ✕ README 文档较薄需查阅 Docs
出处
本方案挖掘自开源项目 glasskube/operator,方案内容与实施命令均来自其 README 原文。
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。