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