使用 Helm 安装极狐GitLab
使用云原生的极狐GitLab Helm Chart,在 Kubernetes 环境中安装极狐GitLab。
假设您已经安装并配置了先决条件项,您可以使用 helm
命令部署极狐GitLab。
默认的 Helm chart 配置不适用于生产。默认 chart 会创建一个 PoC 实现,所有的极狐GitLab 服务都会被部署到此集群中。对于生产部署,您必须遵循云原生混合参考架构。
对于生产部署,您应该有丰富的 Kubernetes 知识。这种部署方式相比于传统部署有不同的管理、可观测性和概念。
在生产部署中:
- 有状态组件,诸如 PostgreSQL 或 Gitaly(一个 Git 仓库用来存储数据面),必须在 PaaS 或计算实例上的集群外运行。这种配置是为了扩展性和可靠地服务生产极狐GitLab 环境中发现的各种工作负载所必需的。
- 您应该为 PostgreSQL、Redis 和对象存储提供所有非 Git 仓库存储。
如果极狐GitLab 实例不需要 Kubernetes,请参阅更简单的替代方案的参考架构。
配置 Helm chart 以使用外部的有状态数据
您可以配置极狐GitLab Helm chart 以让一些条目,诸如 PostgreSQL、Redis、所有非 Git 仓库存储以及 Git 仓库存储(Gitaly)使用外部的有状态存储。
以下的基础设施即代码(IaC)选项就使用了这种方法。
对于生产级实现来说,应使用适当的 cahrt 参数指向与所选参考架构一致的预构建、外部化的状态存储。
使用参考架构
在 Kubernetes 上部署极狐GitLab 实例的参考架构被称之为云原生混合参考架构,之所以这么叫是因为并非所有的极狐GitLab 服务都能够在生产级的集群上运行。所有的有状态极狐GitLab 组件必须部署在 Kubernetes 集群之外。
可用的云原生混合参考架构尺寸都列在参考架构页面。比如,这就是一个针对 3,000 人的云原生混合参考架构。
使用基础设施即代码(IaC)和构建器资源
极狐GitLab 开发了基础设施即代码(Infrastructure as Code),能够配置 Helm charts 和补充云基础设施的组合: