极狐 GitLab

使用 Helm 安装极狐GitLab

Tier: 基础版,专业版,旗舰版

Offering: 私有化部署

使用云原生 GitLab Helm Chart 在 Kubernetes 上安装极狐GitLab。

假设您已经安装并配置了前提条件,您可以使用 helm 命令部署极狐GitLab

GitLab Helm Chart 需要外部 PostgreSQLRedis对象存储。 对于生产环境,请遵循云原生混合参考架构

对于生产部署,您需要具备扎实的 Kubernetes 工作知识。这种部署方式在管理、可观测性和概念上与传统部署有所不同。

在生产部署中:

  • PostgreSQL 和 Redis 必须在集群外部的 PaaS 或计算实例上运行。此配置是必需的,以便扩展并可靠地服务生产极狐GitLab 环境中的各种工作负载。
  • 对于所有非 Git 代码仓库存储,您应使用云 PaaS 来托管 PostgreSQL、Redis 和对象存储。

如果您的极狐GitLab 实例不需要 Kubernetes,请参阅参考架构以了解更简单的替代方案。

容器镜像#

GitLab Helm Chart 使用 Cloud Native GitLab (CNG) 容器镜像来部署极狐GitLab。

需要外部 PostgreSQL、Redis 和对象存储。请参阅以下文档,了解如何配置 Chart 以使用外部服务。

  1. 外部数据库
  2. 外部 Redis
  3. 外部对象存储

配置 Helm Chart 以使用外部有状态数据#

配置 Chart 以指向与您选择的参考架构匹配的外部对象存储、Redis、PostgreSQL 和 Gitaly 服务。

使用参考架构#

将极狐GitLab 实例部署到 Kubernetes 的参考架构称为云原生混合架构,这主要是因为并非所有极狐GitLab 服务都能在生产级实现中于集群内运行。所有有状态的极狐GitLab 组件都必须部署在 Kubernetes 集群之外。

可用的云原生混合参考架构规模列在参考架构页面。例如,这里是适用于 3,000 用户的云原生混合参考架构

使用基础设施即代码 (IaC) 和构建器资源#

GitLab 开发了能够配置 Helm Charts 和补充云基础设施组合的基础设施即代码:

零停机升级#

零停机升级允许您在不中断服务的情况下升级极狐GitLab。要启用此功能,您必须在初始安装期间配置滚动更新策略。如果您稍后将这些设置添加到现有部署中,它将触发 Pod 重启,并可能导致短暂停机。

对于任何分布式应用来说,在升级过程中实现零停机都是相当困难的。本文档已按照我们的 HA 参考架构进行了测试,结果确实没有可观察到的停机时间。但是,请注意,具体效果可能因系统构成而异。 在升级期间,当请求在不同版本的 Pod 之间路由时,用户可能会暂时遇到 UI 不一致或资产返回 HTTP 404 错误的情况,这些问题通常可以通过刷新页面来解决。

要将您的部署配置为支持零停机升级,请务必包含推荐部署设置中的滚动更新设置。

有关完整的升级流程,请参阅零停机升级文档。