- 操作步骤
- 升级捆绑的 PostgreSQL
- 将捆绑的 PostgreSQL 升级到 version 13
- 将捆绑的 PostgreSQL 升级到 version 12
- 6.0 升级步骤
- 5.9 升级步骤
- 5.5 升级步骤
- 5.0 升级步骤
升级极狐GitLab chart
在升级您的极狐GitLab 实例之前,您需要检查要升级的特定版本对应的 变更记录。
我们还建议您先进行 备份。请注意必须使用 helm upgrade --set key=value
语法或 -f values.yaml
提供所有 value 值,不要使用 --reuse-values
,因为某些当前值可能会被废弃。
您可以使用 helm get values <release name>
来检索您以前的 --set
参数。如果您将其定向到文件中(helm get values <release name> > gitlab.yaml
),您可以通过 -f
安全地传递文件,例如 helm upgrade gitlab gitlab-jh/gitlab -f gitlab.yaml
,这样可以安全替代使用 --reuse-values
。
chart 和极狐GitLab 版本对照请参考版本对照文档。
操作步骤
5.0
版本的 chart,遵循 5.0 手动升级步骤。
在升级之前,请考虑一下您的设定值以及您是否可能“过度配置”了您的设置。我们希望您维护一小部分修改后的值,并利用大多数 chart 默认值。如果您通过以下方式配置了大量设置:
- 复制计算设置
- 复制所有设置并明确定义实际上与默认值相同的值
这几乎肯定会在升级过程中导致问题,因为配置结构可能会在不同版本之间发生变化,会导致应用设置出现问题。我们将在以下步骤中介绍如何检查这一点。
以下是将极狐GitLab 升级到新版本的操作步骤:
- 检查要升级的特定版本对应的 变更记录。
- 查看部署指导的详细操作步骤。
-
使用以下命令提取之前的
--set
参数。helm get values gitlab > gitlab.yaml
- 确定升级时需要继承的所有值。极狐GitLab 具有合理的默认值,在升级时,您可以尝试从上述命令中传递所有值,但它可能会导致由于配置在 chart 版本之间发生更改而可能无法顺利映射的场景。我们建议保留您要显式设置的最小的值集,并在升级过程中传递这些值。
-
使用上一步中提取的值执行升级:
helm upgrade gitlab gitlab-jh/gitlab \ --version <new version> \ -f gitlab.yaml \ --set gitlab.migrations.enabled=true \ --set ...
在主数据库升级期间,我们要求您将 gitlab.migrations.enabled
设置为 false。确保您明确将其设置回 true
以便未来的更新。
升级捆绑的 PostgreSQL
postgresql.install
的值为 false),您不需要执行该步骤。将捆绑的 PostgreSQL 升级到 version 13
极狐GitLab 14.1 及更高版本支持 PostgreSQL 13。PostgreSQL 13 带来显着的性能提升。
要升级绑定的 PostgreSQL 到 version 13,需要遵循以下步骤:
- 准备好现有的数据库。
- 删除现有的 PostgreSQL 数据。
- 更新
postgresql.image.tag
的值为13.6.0
,并重新安装 chart 去创建一个新的 PostgreSQL 13 数据库。 - 恢复数据库。
将捆绑的 PostgreSQL 升级到 version 12
作为 5.0.0
发布版本 chart 的一部分,我们将捆绑的 PostgreSQL 版本从 11.9.0
升级到 12.7.0
。这并非完全的替代,您需要执行手动步骤去升级数据库,了解操作步骤,请查看 5.0 升级步骤。
6.0 升级步骤
要升级到 6.0
版本,您必须首先使用最新的 5.10.x
补丁版本。6.0
中不需要任何额外的手动更改,因此您可以按照常规版本升级步骤进行升级。
5.9 升级步骤
Sidekiq pod 永远不会 ready
升级到 5.9.x 可能会导致 Sidekiq pod 未准备好。Pod 启动并且似乎工作正常,但从不监听默认指标端点端口 (metrics.port
) 的 3807
。 因此,Sidekiq pod 未被视为准备就绪。
这可以从 管理中心 解决:
- 在顶部栏上,选择 菜单 > 管理员。
- 在左侧边栏中,选择 设置 > 指标与分析。
- 展开 指标 - Prometheus。
- 确保启用 启用运行状况和性能指标端点。
- 重启受影响的 Pod。
5.5 升级步骤
task-runner
chart 被重命名为 toolbox
并在 5.5.0
中被移除。因此,您的配置中任何提及 task-runner
的内容都应重命名为 toolbox
。 在 5.5 及更高版本中,使用 toolbox
chart,在 5.4 及更早版本中,使用 task-runner
chart。
缺少对象存储 secret 错误
升级到 5.5 或更高版本可能会导致类似以下的错误:
Error: UPGRADE FAILED: execution error at (gitlab/charts/gitlab/charts/toolbox/templates/deployment.yaml:227:23): A valid backups.objectStorage.config.secret is needed!
如果错误中提到的 secret 已经存在并且是正确的,那么这个错误很可能是因为有一个对象存储配置值仍然引用了 task-runner
而不是新的 toolbox
。在您的配置中将 task-runner
重命名为 toolbox
以解决此问题。
5.0 升级步骤
4.x
版本的 chart 升级到最新的 5.0
版本,您需要先更新最新的 4.12.x
补丁版本以便升级。
5.0.0
版本需要手动步骤才能执行升级。如果您使用捆绑的 PostgreSQL,执行升级的最佳方法是备份旧数据库,然后将数据恢复到新的数据库实例中。
如果您在使用外部 PostgreSQL 数据库,您应该首先将数据库升级到 12 或更高版本。然后遵循常规升级步骤
如果您使用捆绑的 PostgreSQL 数据库,您应该遵循捆绑数据库升级步骤。
5.0 版本升级过程故障排查
-
如果升级过程中观察到任何失败提示,您可以检查
gitlab-upgrade-check
pod 的描述信息,获取更多信息:kubectl get pods -lrelease=RELEASE,app=gitlab kubectl describe pod <gitlab-upgrade-check-pod-full-name>