GitLab cloud native Helm Chart

原文:https://docs.gitlab.com/charts/

GitLab cloud native Helm Chart

这是在云本机环境上安装 GitLab 的官方,推荐和受支持的方法.

注意:不必在 Kubernetes 上安装 GitLab 即可使用GitLab Kubernetes 集成 .

Introduction

The gitlab/gitlab chart is the best way to operate GitLab on Kubernetes. This chart contains all the required components to get started, and can scale to large deployments.

该图表包括完整的体验所需的所有组件,但是每个部分都可以单独安装.

Limitations

使用 Helm 图表当前无法使用 GitLab 的某些功能:

数据库限制:

GitLab Helm chart quick start guide

对于那些希望在非生产用例中尽快建立并运行这些图表的人,我们提供了概念验证(PoC)部署快速入门指南 .

本指南将通过部署这些图表使用默认值和功能引导用户,但符合生产做好准备的要求. 如果希望在持续负载下将这些图表部署到生产中,则应遵循以下完整的安装指南 .

Troubleshooting

我们已尽力使这些图表尽可能地无缝,但偶尔也会出现无法控制的问题. 我们已收集了一些常见问题的疑难解答技巧. 在提出问题之前,请先检查这些内容,并通过提出合并请求随意添加它们!

See Troubleshooting.

Installation

gitlab/gitlab图表包含所有必需的依赖项. 在生产中,您可能需要启用可选功能或高级配置 . 本指南深入介绍了这些图表的所有选项和功能.

如果您只是想部署概念验证进行测试,我们强烈建议您遵循我们的快速入门进行第一次迭代.

  1. Preparation
  2. Deployment

Global settings

这些图表的复杂性使其可以使用全局属性. 有许多通用全局设置适用于多个图表. 有关不同的全局配置值及其应用程序的详细信息,请参见Globals 文档 .

Complete properties list

经常要求我们将所有可能的属性表直接放入此索引. 这些图表是规模庞大 ,并作为属性的这种数量超过背景的量,我们在这里很舒服配售. 请参阅我们(几乎) 全面的属性和默认值列表 .

Upgrading

安装了 GitLab 图表后,应使用helm upgrade完成配置更改和图表更新:

  1. helm repo add gitlab https://charts.gitlab.io/
  2. helm repo update
  3. helm get values gitlab > gitlab.yaml
  4. helm upgrade gitlab gitlab/gitlab -f gitlab.yaml

有关更多详细信息,请参阅升级 .

Uninstall

要卸载 GitLab Chart,请运行以下命令:

  1. helm uninstall gitlab

注意:在 Helm v2 中,您需要使用helm delete --purge gitlab命令.

为了连续起见,这些图表具有一些在执行helm uninstall时不会删除的 Kubernetes 对象. 这些是我们要求您有意识地删除的项目,因为它们会影响您应选择的重新部署.

  • 用于状态数据的 PVC,必须自觉删除
    • Gitaly:这是您的存储库数据.
    • PostgreSQL(如果内部):这是您的元数据.
    • Redis(如果内部):这是缓存和作业队列,可以安全地将其删除.
  • 机密(如果由我们的共享机密工作生成). 这些图表旨在避免直接通过 Helm 生成 Kubernetes 秘密. 因此,Helm 无法删除它们. 它们包含密码,加密机密等.它们不应被恶意破坏.
  • ConfigMaps
    • ingress-controller-leader-RELEASE-nginx :这是由 NGINX Ingress 控制器本身生成的,不在我们图表的控制范围内. 可以安全地将其删除.

PVC 和秘密将设置release标签,因此您可以通过以下方式找到它们:

  1. kubectl get pvc,secret -lrelease=gitlab

Advanced

除了在云本机环境中进行 GitLab 的基本部署以外,还可以进行更复杂的配置. 本节为需要进一步计划的任务提供指导,例如大规模部署或从 Omnibus GitLab 迁移.

Advanced Configuration

高级和大规模部署具有利用外部服务,扩展功能和备用提供程序的能力.

高级配置示例:

  • 亚搏体育 app Geo
  • 外部对象存储提供者
  • 外部 PostgreSQL,Redis,Gitaly
  • 外部入口提供商

See Advanced Configuration.

Migrate from Omnibus GitLab to Kubernetes

可以从Omnibus GitLab迁移到这些图表. 这样做通常需要将现有数据迁移到对象存储,因此是高级配置 .

要将现有的 Omnibus GitLab 实例迁移到这些图表,请遵循迁移文档 .

Architecture

这些图表非常复杂,因为它们可以协调整个应用程序套件的部署. 我们提供有关目标,结构,设计决策和资源消耗的文档 .

Development

对于那些有兴趣为这些图表做出贡献的人,我们提供了涵盖该项目工作范围的开发指南. 它们可以在开发中 .

GitLab version mappings

GitLab 图表与 GitLab 本身的版本号不同. 预计可能需要在图表中引入一些重大更改,这些更改可能会导致重大版本颠簸,而对这些更改的要求可能会完全阻止这些图表上的其他开发,直到完成为止.

要快速查看它们映射到的gitlab图表版本和 GitLab 版本的完整列表,请对Helm发出以下命令:

  1. helm repo add gitlab https://charts.gitlab.io/
  2. helm search repo -l gitlab/gitlab

注意对于 Helm v2,搜索命令将为helm search -l gitlab/gitlab

有关更多信息,请访问版本映射 docs .

Contributing

除了我们的贡献准则之外,请参阅开发者文档以了解如何对 GitLab 图表做出贡献 .