使用 Helm 安装极狐GitLab
Tier: 基础版,专业版,旗舰版
Offering: 私有化部署
使用云原生 GitLab Helm Chart 在 Kubernetes 上安装极狐GitLab。
假设您已经安装并配置了前提条件,您可以使用 helm 命令部署极狐GitLab。
GitLab Helm Chart 需要外部 PostgreSQL、Redis 和对象存储。 对于生产环境,请遵循云原生混合参考架构。
对于生产部署,您需要具备扎实的 Kubernetes 工作知识。这种部署方式在管理、可观测性和概念上与传统部署有所不同。
在生产部署中:
- PostgreSQL 和 Redis 必须在集群外部的 PaaS 或计算实例上运行。此配置是必需的,以便扩展并可靠地服务生产极狐GitLab 环境中的各种工作负载。
- 对于所有非 Git 代码仓库存储,您应使用云 PaaS 来托管 PostgreSQL、Redis 和对象存储。
如果您的极狐GitLab 实例不需要 Kubernetes,请参阅参考架构以了解更简单的替代方案。
容器镜像
GitLab Helm Chart 使用 Cloud Native GitLab (CNG) 容器镜像来部署极狐GitLab。
需要外部 PostgreSQL、Redis 和对象存储。请参阅以下文档,了解如何配置 Chart 以使用外部服务。
配置 Helm Chart 以使用外部有状态数据
配置 Chart 以指向与您选择的参考架构匹配的外部对象存储、Redis、PostgreSQL 和 Gitaly 服务。
使用参考架构
将极狐GitLab 实例部署到 Kubernetes 的参考架构称为云原生混合架构,这主要是因为并非所有极狐GitLab 服务都能在生产级实现中于集群内运行。所有有状态的极狐GitLab 组件都必须部署在 Kubernetes 集群之外。
可用的云原生混合参考架构规模列在参考架构页面。例如,这里是适用于 3,000 用户的云原生混合参考架构。
使用基础设施即代码 (IaC) 和构建器资源
GitLab 开发了能够配置 Helm Charts 和补充云基础设施组合的基础设施即代码:
- GitLab Environment Toolkit IaC。
- 实施模式:在 AWS EKS 上配置极狐GitLab 云原生混合架构: 此资源提供了经过 GitLab Performance Toolkit 验证的物料清单,并使用 AWS 成本计算器进行预算规划。
零停机升级
零停机升级允许您在不中断服务的情况下升级极狐GitLab。要启用此功能,您必须在初始安装期间配置滚动更新策略。如果您稍后将这些设置添加到现有部署中,它将触发 Pod 重启,并可能导致短暂停机。
对于任何分布式应用来说,在升级过程中实现零停机都是相当困难的。本文档已按照我们的 HA 参考架构进行了测试,结果确实没有可观察到的停机时间。但是,请注意,具体效果可能因系统构成而异。 在升级期间,当请求在不同版本的 Pod 之间路由时,用户可能会暂时遇到 UI 不一致或资产返回 HTTP 404 错误的情况,这些问题通常可以通过刷新页面来解决。
要将您的部署配置为支持零停机升级,请务必包含推荐部署设置中的滚动更新设置。
有关完整的升级流程,请参阅零停机升级文档。