Install on Kubernetes
使用上游的 Helm chart 和容器镜像,将 Gitea Enterprise 部署到 Kubernetes。
-
支持持久化存储和 ingress 的 Kubernetes 1.24+ 集群。
-
根据预期用户规模选择推荐硬件配置:
团队规模(约) 内存 CPU 核心数 SSD 容量 ~10 用户 2-4 GB 2-4 核 50-100 GB ~100 用户 4-8 GB 4-8 核 200-500 GB ~1000 用户 16-32 GB 8-16 核 2-5 TB -
已针对目标集群配置好
kubectl。 -
本地已安装 Helm 3。
-
如果您的集群需要镜像同步,请确保能够从容器镜像仓库拉取
commitgo/gitea-ee镜像。 -
Git 已内置于 Enterprise 容器镜像中,因此无需在节点上额外安装任何软件包。
-
(可选)用于启用高级功能的 Enterprise 许可证。参见许可证激活以申请试用,并在部署后上传许可证。
1. 添加 Gitea chart 仓库
Section titled “1. 添加 Gitea chart 仓库”helm repo add gitea https://dl.gitea.io/charts/helm repo updategitea/charts 中记录的 chart 默认即支持 Enterprise 部署。
2. 准备命名空间和密钥
Section titled “2. 准备命名空间和密钥”kubectl create namespace giteakubectl -n gitea create secret generic gitea-admin \ --from-literal=username=admin \ --from-literal=password='replace-with-strong-password'3. 创建 values 文件
Section titled “3. 创建 values 文件”将以下配置保存为 values-enterprise.yaml,并根据您的环境调整域名、ingress class、storage class 和持久化存储设置:
image: registry: docker.io repository: commitgo/gitea-ee tag: 27.3.2 rootless: true pullPolicy: IfNotPresent
service: http: type: ClusterIP ssh: type: ClusterIP
ingress: enabled: true annotations: kubernetes.io/ingress.class: <your-ingress-class> hosts: - host: gitea.example.com paths: - path: / pathType: Prefix tls: - secretName: gitea-tls hosts: - gitea.example.com
gitea: admin: existingSecret: gitea-admin config: server: DOMAIN: gitea.example.com ROOT_URL: https://gitea.example.com/
persistence: size: 20Gi storageClass: standard- 将
tag更新为您要部署的 Enterprise 版本。 - 如果要使用外部数据库替代内置的 PostgreSQL,请参阅 External Database。
- 请参阅 README,根据您的需求和具体环境配置 SSH。
4. 安装 release
Section titled “4. 安装 release”helm upgrade --install gitea gitea-charts/gitea \ --namespace gitea \ -f values-enterprise.yaml验证 pod 是否正在运行,以及 ingress 是否可访问:
kubectl -n gitea get podskubectl -n gitea get ingress5. 安装后任务
Section titled “5. 安装后任务”- 使用存储在
gitea-admin中的管理员凭据登录https://gitea.example.com/。 - 完成许可证激活。
- 使用上游的 Helm values 配置对象存储、SMTP 和其他集成。
- 请参阅上游的 Configuration Cheat Sheet,了解完整的
app.ini选项列表,并通过 Helm values 或additionalConfigSources应用这些配置。
6. 升级与维护
Section titled “6. 升级与维护”- 将 values 文件中的
image.tag更新为更新的 Enterprise 版本,然后重新运行helm upgrade命令。 - 在应用升级之前,备份持久卷和数据库。
- 使用
helm diff upgrade(配合 diff 插件)在 CI/CD 流水线中预览 manifest 变更。 - 使用
kubectl logs和标准的 Kubernetes 可观测性工具监控 pod。 - 根据您的 Kubernetes 拓扑和恢复目标,通过扩展 Redis、对象存储和负载均衡组件来规划高可用方案。
Gitea Enterprise 在各版本间遵循相同的 chart 结构,因此现有的 GitOps 工作流只需覆盖镜像即可采用 Enterprise 功能。