我们一起 K8s 环境下的 gitlab 升级,你学会了吗?

云计算 云原生
如果使用了gitlab 的开源版本,那么gitlab 升级的是一个无法逃避的问题,官网虽然提供了升级方案,但是官方提供安装方式比较多,升级方案也只是提供了大概的过程,升级的细节并不是完善,很多小伙伴看完可能还是会比较迷茫。

如果使用了gitlab 的开源版本,那么gitlab 升级的是一个无法逃避的问题,官网虽然提供了升级方案,但是官方提供安装方式比较多,升级方案也只是提供了大概的过程,升级的细节并不是完善,很多小伙伴看完可能还是会比较迷茫。因此本文将特定场景下的升级过程详细展示出来供大家参考。

1、学部署环境&部署方式

部署环境&部署方式

  • 安装工具:helm(使用官方源)
  • 部署环境:k8s

gitlab ack 部署

添加 helm repo

helm repo add gitlab https://charts.gitlab.io/
helm repo update

执行安装 gitlab

  • 持久化配置文件

helm_gitlab_storageClass_option.yaml

gitlab:
  gitaly:
    persistence:
      storageClass: alicloud-disk-efficiency
      size: 100Gi
postgresql:
  persistence:
    storageClass: alicloud-disk-efficiency
    size: 50Gi
minio:
  persistence:
    storageClass: alicloud-disk-efficiency
    size: 50Gi
redis:
  master:
    persistence:
      storageClass: alicloud-disk-efficiency
      size: 25Gi
  • 执行安装
ns=gitlab
gitlab_chart_version="4.7.1"
helm  install gitlab gitlab/gitlab \
--namespace ${ns} \
--version ${gitlab_chart_version} \
--set global.edition=ce \
--set global.hosts.domain=xxxxxxxxxx.cn \
--set certmanager.install=false \
--set global.hosts.https=false \
--set global.ingress.configureCertmanager=false \
--set upgradeCheck.enabled=false \
--set certmanager.createCustomResource=false \
--set nginx-ingress.enabled=false \
--set certmanager.install=false \
--set prometheus.install=false \
--set gitlab-runner.install=false \
--set gitlab.registry.enabled=false \
--set nginx-ingress.ingressClass=nginx \
-f helm_gitlab_storageClass_option.yaml

2、升级方式选择

升级方案

方案1:在已有的命名空间直接执行upgrade。

方案2:创建新的命名空间,安装相同的版本然后进行数据迁移&升级

升级方案选择

  • 如果对安装升级比较有自信,选择方案1,优点升级简单,不需要进行数据迁移等工作。相对来说可以节省不少时间
  • 如果对升级不自信,那就果断选择方案2, 优点不用担心升级失败,升级成功切换,升级失败可以反复重试直到成功为止。

3、基于当前版本查看升级路线

输入当前版本以及要升级到的版本

图片图片

升级路线如下图,显示的版本不能跳过。

图片图片

图片图片

以上两个地址找到gitlab 版本与helm gitlab 版本的对应关系

4、gitlab 原命名空间升级

执行升级

修改 gitlab_chart_version对应的版本值

gitlab_chart_versinotallow="xxxxx"
ns=gitlab
helm upgrade gitlab gitlab/gitlab \
--namespace ${ns} \
--version ${gitlab_chart_version} \
--set global.editinotallow=ce \
--set certmanager.install=false \
--set global.hosts.https=true \
--set global.hosts.domain=xxxx.cn \
--set global.ingress.cnotallow=false \
--set upgradeCheck.enabled=false \
--set certmanager.installCRDs=false \
--set nginx-ingress.enabled=false \
--set certmanager.install=false \
--set prometheus.install=false \
--set gitlab-runner.install=false \
--set gitlab.registry.enabled=false \
--set nginx-ingress.ingressClass=nginx \
--set global.ingress.tls.secretName=xxxx.cn \
--set gitlab.sidekiq.resources.requests.cpu=4000m \
--set gitlab.sidekiq.resources.requests.memory=10240M \
-f helm_gitlab_storageClass_option.yaml

gitlab 状态查看

  • 登录gitlab 控制台查看

5、升级过程中的注意事项

  • Gitlab 多版本升级一定要等所有后台任务都成功执行在继续,下一个版本升级

图片图片

  • 升级方案二,增加一步数据导入,其他过程一样。
责任编辑:武晓燕 来源: 新钛云服
相关推荐

2023-11-13 18:36:04

知识抽取NER

2023-10-31 14:04:17

Rust类型编译器

2023-06-07 14:07:00

架构

2023-04-13 08:40:12

MySQL服务器SELECT

2023-01-03 08:13:26

GoModulesMaven

2024-05-10 08:00:48

K8soperatorGitHub

2021-12-14 09:34:31

丑数顺序指针

2021-05-31 09:23:04

管道模式责任链

2022-11-02 10:21:41

K8s pod运维

2022-12-22 08:14:54

2022-06-15 08:00:50

磁盘RedisRocketMQ

2023-05-09 08:25:26

Gaussdb数据库开源数据库

2024-10-17 10:00:59

2021-11-26 07:00:05

反转整数数字

2024-05-11 09:03:26

数据表级锁事务

2024-02-19 07:52:40

CSSJS属性

2022-07-08 09:27:48

CSSIFC模型

2024-09-26 09:10:08

2024-02-02 11:03:11

React数据Ref

2024-01-19 08:25:38

死锁Java通信
点赞
收藏

51CTO技术栈公众号