GitLab cloud native Helm Chart
- Introduction
- Limitations
- GitLab Helm chart quick start guide
- Troubleshooting
- Installation
- Upgrading
- Uninstall
- Advanced
- Architecture
- Development
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.
该图表包括完整的体验所需的所有组件,但是每个部分都可以单独安装.
- GitLab 核心组件:
- 可选依赖项:
- 可选的补充:
- 普罗米修斯
- 格拉法纳
- 使用 Kubernetes 执行器的非特权 GitLab Runner
- 使用Jetstack的cert-manager通过Let’s Encrypt自动提供 SSL
Limitations
使用 Helm 图表当前无法使用 GitLab 的某些功能:
数据库限制:
- GitLab Geo 功能需要使用外部数据库服务 .
GitLab Helm chart quick start guide
对于那些希望在非生产用例中尽快建立并运行这些图表的人,我们提供了概念验证(PoC)部署快速入门指南 .
本指南将通过部署这些图表使用默认值和功能引导用户,但不符合生产做好准备的要求. 如果希望在持续负载下将这些图表部署到生产中,则应遵循以下完整的安装指南 .
Troubleshooting
我们已尽力使这些图表尽可能地无缝,但偶尔也会出现无法控制的问题. 我们已收集了一些常见问题的疑难解答技巧. 在提出问题之前,请先检查这些内容,并通过提出合并请求随意添加它们!
See Troubleshooting.
Installation
gitlab/gitlab
图表包含所有必需的依赖项. 在生产中,您可能需要启用可选功能或高级配置 . 本指南深入介绍了这些图表的所有选项和功能.
如果您只是想部署概念验证进行测试,我们强烈建议您遵循我们的快速入门进行第一次迭代.
Global settings
这些图表的复杂性使其可以使用全局属性. 有许多通用全局设置适用于多个图表. 有关不同的全局配置值及其应用程序的详细信息,请参见Globals 文档 .
Complete properties list
经常要求我们将所有可能的属性表直接放入此索引. 这些图表是规模庞大 ,并作为属性的这种数量超过背景的量,我们在这里很舒服配售. 请参阅我们(几乎) 全面的属性和默认值列表 .
Upgrading
安装了 GitLab 图表后,应使用helm upgrade
完成配置更改和图表更新:
helm repo add gitlab https://charts.gitlab.io/
helm repo update
helm get values gitlab > gitlab.yaml
helm upgrade gitlab gitlab/gitlab -f gitlab.yaml
有关更多详细信息,请参阅升级 .
Uninstall
要卸载 GitLab Chart,请运行以下命令:
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
标签,因此您可以通过以下方式找到它们:
kubectl get pvc,secret -lrelease=gitlab
Advanced
除了在云本机环境中进行 GitLab 的基本部署以外,还可以进行更复杂的配置. 本节为需要进一步计划的任务提供指导,例如大规模部署或从 Omnibus GitLab 迁移.
Advanced Configuration
高级和大规模部署具有利用外部服务,扩展功能和备用提供程序的能力.
高级配置示例:
- 亚搏体育 app Geo
- 外部对象存储提供者
- 外部 PostgreSQL,Redis,Gitaly
- 外部入口提供商
Migrate from Omnibus GitLab to Kubernetes
可以从Omnibus GitLab迁移到这些图表. 这样做通常需要将现有数据迁移到对象存储,因此是高级配置 .
要将现有的 Omnibus GitLab 实例迁移到这些图表,请遵循迁移文档 .
Architecture
这些图表非常复杂,因为它们可以协调整个应用程序套件的部署. 我们提供有关目标,结构,设计决策和资源消耗的文档 .
Development
对于那些有兴趣为这些图表做出贡献的人,我们提供了涵盖该项目工作范围的开发指南. 它们可以在开发中 .
GitLab version mappings
GitLab 图表与 GitLab 本身的版本号不同. 预计可能需要在图表中引入一些重大更改,这些更改可能会导致重大版本颠簸,而对这些更改的要求可能会完全阻止这些图表上的其他开发,直到完成为止.
要快速查看它们映射到的gitlab
图表版本和 GitLab 版本的完整列表,请对Helm发出以下命令:
helm repo add gitlab https://charts.gitlab.io/
helm search repo -l gitlab/gitlab
注意对于 Helm v2,搜索命令将为helm search -l gitlab/gitlab
有关更多信息,请访问版本映射 docs .