部署极狐GitLab Helm chart

在执行 helm install 之前,您需要就如何运行极狐GitLab 做出一些决定。使用 Helm 的 --set option.name=value 命令行选项可以指定选项值。参考完整的 命令行选项列表。本指南将涵盖所需的值和常用选项。

caution 默认的 Helm chart 配置不适用于生产。默认 chart 创建一个概念验证 (PoC) 实验环境,其中所有极狐GitLab 服务都部署在集群中。对于生产部署,需要额外的配置。对于生产部署,您应该具备丰富的 Kubernetes 应用知识。这种部署方法与传统部署具有不同的管理、可观察性和概念。

使用 Helm 部署

一旦收集了所有配置选项,可以获取任何依赖项并运行 Helm。在示例中,我们将 Helm 版本命名为 gitlab,chart 版本为 5.6.2。

helm repo add gitlab-jh https://charts.gitlab.cn
helm repo update
helm upgrade --install gitlab gitlab-jh/gitlab \
  --version 5.6.2 \
  --timeout 600s \
  --set global.hosts.domain=example.com \
  --set global.hosts.externalIP=10.10.10.10 \
  --set certmanager-issuer.email=me@example.com 

说明如下:

  • 所有 Helm 命令指定使用 Helm v3 语法。
  • Helm v3 要求将发布名称指定为命令行上的位置参数,除非使用了 --generate-name 选项。
  • Helm v3 要求指定一个数字作为持续时间,并在值后面附加一个单位(例如 120s = 2m and 210s = 3m30s)。--timeout 选项可处理为使用秒为单位,设置时可以_不_指定单位。
  • --timeout 选项具有一定迷惑性,在应用了 --timeout 选项时,Helm 在安装或升级过程中部署多个组件。--timeout 的值单独应用于每个组件的安装,而不是所有组件的安装。因此,当使用 --timeout=3m 设置在 3 分钟后中止 Helm 安装时,仍可能导致 Helm 安装在 5 分钟后完成,因为所有已安装组件的安装时间都不超过 3 分钟。

如果您想要安装指定版本的实例,您也可以使用 --version <installation version> 选项。

了解 chart 和极狐GitLab 之间的版本对照,请查看文档

监控部署

部署完成后将输出安装的资源列表,这可能需要 5-10 分钟。

运行 helm status gitlab 命令,可以检查部署的状态。部署进行时,您可以在另一个终端运行该命令。

首次登录

您可以通过访问安装时指定的域名,来访问极狐GitLab 实例。默认域名为 gitlab.example.com,除非更改了 全局 host 设置。如果您手动创建了初始 root 密码的 Secret,您可以使用它,以 root 用户身份登录。如果没有,极狐GitLab 将自动为 root 用户创建一个随机密码,您可以通过以下命令获取(用版本名称替换 <name>,如果您使用了以上案例中的命令,<name>gitlab)。

kubectl get secret <name>-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo