如何升级用 Helm 安装的极狐GitLab Runner?

本分分享如何对 Helm 安装的 Runner 进行升级。整个过程分为三步:1、确定 Runner 最新版本或者想要升级的版本是否存在;2、用 Helm upgrade 命令进行升级;3、升级确认。

极狐GitLab 为 GitLab 的中国发行版,中文版本对中国用户更友好,可以一键私有化部署,安装升级详情可以查看官网

前提

  • 用 Helm 安装且运行正常的 Runner

关于使用 Helm 进行极狐GitLab Runner,可以参考文章如何用 Helm 安装特定版本的 GitLab Runner?,然后查看 Runner 的版本和运行状况:

复制代码
# 查看 Helm Release 以及 Runner 的版本
helm ls --namespace jh-gitlab-runner
NAME                NAMESPACE           REVISION    UPDATED                                    STATUS      CHART                   APP VERSION
jh-gitlab-runner    jh-gitlab-runner    1           2024-09-11 06:50:17.139514892 +0000 UTC    deployed    gitlab-runner-0.68.0    17.3.0

# 查看 Runner 的运行状态
kubectl -n jh-gitlab-runner get pods
NAME                                              READY   STATUS    RESTARTS   AGE
jh-gitlab-runner-gitlab-runner-5c558fb88b-lnfxm   1/1     Running   0          42h

查找 Runner 版本

升级的前提是确定想要升级到哪个版本,使用 Helm 安装的话,可以用 helm search命令来查找版本:

复制代码
# 查找 Repo
helm repo list
NAME         URL
jh-gitlab    https://charts.gitlab.cn

# 查找最近的 5 个版本
helm search repo jh-gitlab/gitlab-runner -l | head -5
NAME                       CHART VERSION    APP VERSION    DESCRIPTION
jh-gitlab/gitlab-runner    0.68.1           17.3.1         GitLab Runner
jh-gitlab/gitlab-runner    0.68.0           17.3.0         GitLab Runner
jh-gitlab/gitlab-runner    0.67.0           17.2.0         GitLab Runner
jh-gitlab/gitlab-runner    0.66.0           17.1.0         GitLab Runner

可以看到最新的版本是 17.3.1,而当前安装的是 17.3.0。接下来就准备升级到 17.3.1

Runner 的升级

执行 helm upgrade即可完成升级,升级过程中可以使用 --version执行想要升级的版本

复制代码
helm upgrade --namespace jh-gitlab-runner -f values.yaml jh-gitlab-runner jh-gitlab/gitlab-runner --version 0.68.1
W0913 01:41:09.427151  715889 warnings.go:70] unknown field "spec.template.spec.containers[0].securityContext.fsGroup"
Release "jh-gitlab-runner" has been upgraded. Happy Helming!
NAME: jh-gitlab-runner
LAST DEPLOYED: Fri Sep 13 01:41:08 2024
NAMESPACE: jh-gitlab-runner
STATUS: deployed
REVISION: 2
TEST SUITE: None
NOTES:
Your GitLab Runner should now be registered against the GitLab instance reachable at: "http://jhma.jihulab.net"

Runner namespace "jh-gitlab-runner" was found in runners.config template.

#############################################################################################
## WARNING: You enabled `rbac` without specifying if a service account should be created.  ##
## Please set `serviceAccount.create` to either `true` or `false`.                         ##
## For backwards compatibility a service account will be created.                          ##
#############################################################################################

可以看到 Runner pod 的状态变化

复制代码
kubectl -n jh-gitlab-runner get pods -w
NAME                                              READY   STATUS    RESTARTS   AGE
jh-gitlab-runner-gitlab-runner-5c558fb88b-lnfxm   1/1     Running   0          42h
jh-gitlab-runner-gitlab-runner-b444666d-fn7l9     0/1     Running   0          26s
jh-gitlab-runner-gitlab-runner-b444666d-fn7l9     1/1     Running   0          70s
jh-gitlab-runner-gitlab-runner-5c558fb88b-lnfxm   1/1     Terminating   0          42h 

Runner 升级确认

用 helm ls确认 Runner 的版本信息

复制代码
helm ls --namespace jh-gitlab-runner
NAME                NAMESPACE           REVISION    UPDATED                                    STATUS      CHART                   APP VERSION
jh-gitlab-runner    jh-gitlab-runner    2           2024-09-13 01:41:08.757879746 +0000 UTC    deployed    gitlab-runner-0.68.1    17.3.1

可以看到版本从 17.3.0 升级到了 17.3.1。可以在 Runner 管理界面再次确认

在界面上同样可以看到 Runner 到了 17.3.1

相关推荐
Gnix102977 天前
Copier 总报错?一篇讲透排查、升级、治理和团队落地
devops
lunzi_082617 天前
【开源治理】05-把流程翻译成门禁:开源治理嵌入 DevOps 流水线实战
供应链管理·devops·开源治理
程序员老赵17 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
宋均浩17 天前
# pytest 的 5 个 fixture 骚操作,我用了 3 年才学会
devops
睡不醒男孩03082317 天前
云原生运维实战:高并发架构下的云原生可观测性、韧性降级与自动化干预体系
数据库·kubernetes·高并发·prometheus·devops·sre·缓存调优
爱学习的程序媛17 天前
DevOps 深度解析:从文化理念到落地实践
运维·devops
霸道流氓气质17 天前
GitLab CI/CD 完全指南
linux·ci/cd·gitlab
sbjdhjd17 天前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
至乐活着18 天前
Docker Compose多服务编排实战:从零搭建Node.js+MySQL+Redis全栈应用
docker·微服务·devops·容器编排·compose
热爱运维的小七18 天前
深度解析|应用性能 + RUM + 拨测:现代 IT 运维的可观测性“铁三角”
运维·it运维·devops·apm·rum·网站拨测