极狐GitLab 云原生 Helm chart

在云原生环境中安装极狐GitLab,是一种官方的、推荐的和支持的安装方式。

note不必在 Kubernetes 上安装极狐GitLab 即可使用 GitLab Kubernetes 集成。

简介

gitlab-jh/gitlab chart 是在 Kubernetes 上运行极狐GitLab 的最佳方法。chart 内包含开始使用所需的所有组件,并且可以扩容到更大的部署规模。

gitlab-jh/gitlab chart 包含完整体验所需的所有组件,但每个部分需要分开安装。

极狐GitLab Helm chart 快速开始指南

对于希望尽快入门使用 chart 的用户来说,在非生产环境使用场景中,我们提供快速开始指南用于部署 PoC 环境。

本指南将引导用户使用默认值和功能特性部署 chart,满足生产环境的准备要求。如果您希望在持续负载下的生产环境中部署 chart,您应该遵循下方的完整安装指南

安装

gitlab-jh/gitlab chart 包含所有需要的依赖,在生产环境中,您可能想要启用可选特性功能或高级配置。本指南深入介绍了这些 chart 的所有选项和特性。

如果您只是想部署 PoC 环境用于测试,我们强烈建议您按照快速入门进行第一次部署。

  1. 准备
  2. 部署

全局设置

chart 的复杂性有利于使用全局属性。有许多常用的通用属性适用于多个 chart。参阅全局配置文档,了解不同全局配置值和应用的详细信息。

完整属性列表

chart 属性规模庞大,请查阅属性和默认值的列表

升级

一旦安装了极狐GitLab chart,应使用 helm upgrade 命令进行配置更改和 chart 更新:

helm repo add gitlab-jh https://charts.gitlab.cn/
helm repo update
helm get values gitlab > gitlab.yaml
helm upgrade gitlab gitlab-jh/gitlab -f gitlab.yaml

获取更多信息,请参阅升级文档

note使用 chart 无法实现 零宕机升级

卸载

要卸载极狐GitLab chart,使用以下命令:

helm uninstall gitlab

出于连续性的目的,执行 helm uninstall 命令后,部分 Kubernetes 资源不会被删除。如果您选择后续重新部署,由于会影响重新部署,需要您_主动_删除这些资源。

  • PVC,存储有状态数据,您必须删除。
    • Gitaly:存储您的仓库数据
    • PostgreSQL (如果在内部):存储您的 metadata。
    • Redis (如果在内部):缓存和作业队列,可以安全删除。
  • Secrets,如果由我们的 shared-secrets 作业生成。chart 从不直接通过 Helm 生成 Kubernetes Secrets。因此,Helm 无法删除它们。Secrets 包含密码,加密密钥等,应谨慎删除。
  • ConfigMaps
    • ingress-controller-leader-RELEASE-nginx: 由 NGINX Ingress controller 生成,不由 chart 控制,可以安全删除。

PVC 和 Secret 具有 release 标签设置,您可以通过以下命令找到它们:

kubectl get pvc,secret -lrelease=gitlab

高级指南

除了在与云原生环境中进行基本部署之外,还可以进行更复杂的配置。本节为哪些需要远期规划的任务提供进一步指导,例如大规模部署或从 Omnibus GitLab 迁移。

高级配置

高级和大规模部署能够利用外部服务、扩展功能和备用提供商。

高级配置示例:

  • GitLab Geo
  • External object storage providers
  • External PostgreSQL, Redis, Gitaly
  • External Ingress providers

参阅 高级配置文档

从 Omnibus GitLab 迁移到 Kubernetes

支持从 Omnibus GitLab 迁移到 Kubernetes,这样做通常需要将现有数据迁移到对象存储,是高级配置的一部分。

要将您现有的 Omnibus GitLab 迁移到这些 chart,请遵循 迁移文档

架构

chart 协调了整套应用的部署而变得非常复杂。请参阅关于目标、结构、设计决策和资源消耗的架构文档

版本对照

GitLab chart 与极狐GitLab 本身的版本号不同。为保证主板本的迭代前进,可能会需要引入突发变更,在完成之前,甚至会导致完全阻断其它开发进行。

要快速查看 gitlab chart 与实例版本的完整对照列表,请使用 Helm 执行以下命令:

helm repo add gitlab-jh https://charts.gitlab.cn/
helm search repo -l gitlab-jh/gitlab

获取更多信息,访问版本对照文档