网站投放广告怎么做,wordpress附件上传FTP,小白安装wordpress,c2c模式是什么接上一篇 基于helm的方式在k8s集群中部署gitlab - 部署#xff08;一#xff09;#xff0c;本篇重点对gitlab在k8s集群中进行升级 文章目录 1. gitlab 升级1.1 获取release1.2 下载目前版本的gitlab charts1.3 获取当前的values文件1.4 升级 2. gitlab数据库升级2.1 备份数… 接上一篇 基于helm的方式在k8s集群中部署gitlab - 部署一本篇重点对gitlab在k8s集群中进行升级 文章目录 1. gitlab 升级1.1 获取release1.2 下载目前版本的gitlab charts1.3 获取当前的values文件1.4 升级 2. gitlab数据库升级2.1 备份数据库2.2 删除已有的 PostgreSQL 数据2.3 升级数据库2.4验证 1. gitlab 升级 本次升级从15.8.0升级到15.11.10 1.1 获取release
helm list -n jihulab1.2 下载目前版本的gitlab charts
helm repo update #更新repo源
helm search repo gitlab-jh -l #查看对应版本的charts
helm fetch gitlab/gitlab --version 6.11.10 #拉取目标版本的charts
tar -xf gitlab-6.11.10.tgz
mv gitlab gitlab-15.11.101.3 获取当前的values文件
cd gitlab-15.11.10
helm get values gitlab -n jihulab 15.8.01.4 升级
cd gitlab-15.11.10 #切换目录helm upgrade gitlab gitlab-jh/gitlab \
--version 6.11.10 \
--timeout 600s \
--set certmanager.installfalse \
--set global.ingress.configureCertmanagerfalse \
--set global.ingress.tls.enabledtrue \
--set gitlab.webservice.ingress.tls.secretNamegitlab-jihulab-cn-ssl \
--set registry.ingress.tls.secretNameregistry-jihulab-cn-ssl \
--set minio.ingress.tls.secretNameminio-jihulab-cn-ssl \
--set nginx-ingress.service.typeNodePort \
--set global.shell.port31475 \
--values values.yaml -n jihulab2. gitlab数据库升级
gitlab15.11.10中数据库版本从12.7升级到14.7 参考链接 升级捆绑 PostgreSQL 的步骤 2.1 备份数据库
准备已有的数据库
pre 阶段将使用 Toolbox 中的备份实用程序脚本创建数据库备份该脚本将保存到配置的 s3 存储桶默认为 MinIO
# GITLAB_RELEASE should be the version of the chart you are installing, starting with v: v6.0.0
curl -s https://jihulab.com/gitlab-cn/charts/gitlab/-/raw/${GITLAB_RELEASE}/scripts/database-upgrade | bash -s pre这个脚本database-upgrade的中pre其实主要是备份数据库但是由于toolbox容器中没有kubectl命令行工具因为我这里还是使用的是原始的备份命令backup-utility来完成数据库的备份操作的。 备份
kubectl exec -it -n jihulab gitlab-toolbox-6dd5d8fc59-7nq52 -- backup-utility --skip registry,uploads,artifacts,lfs,packages,external_diffs,terraform_state,ci_secure_files,repositories备份完后会自动上传到minio中
2.2 删除已有的 PostgreSQL 数据
由于 PostgreSQL 数据格式已更改因此升级需要在升级版本之前删除现有的 PostgreSQL StatefulSet。 StatefulSet 将在下一步中重新创建。
删除已有的pg数据
kubectl delete statefulset gitlab-postgresql --namespace jihulab
kubectl delete pvc data-gitlab-postgresql-0 -n jihulab2.3 升级数据库
恢复数据库
请注意以下事项
您需要使用 Bash 4.0 或更高版本才能成功运行脚本因为它需要使用 bash 关联数组。 等待 Toolbox pod 的升级完成。 RELEASE_NAME 应该是 helm list 中 GitLab 版本的名称 kubectl rollout status -w deployment/gitlab-toolbox -n jihulabToolbox pod 部署成功后运行 post 步骤(这块和pre一样可以通过原生自带命令处理) # GITLAB_RELEASE should be the version of the chart you are installing, starting with v: v6.0.0
curl -s https://jihulab.com/gitlab-cn/charts/gitlab/-/raw/${GITLAB_RELEASE}/scripts/database-upgrade | bash -s post此步骤将执行以下操作强烈建议操作此步骤 将 webservice、sidekiq 和 gitlab-exporter deployment 的副本设置为 0。这将防止任何其它应用程序在恢复备份时更改数据库。 kubectl scale deployment gitlab-sidekiq-all-in-1-v2 --replicas0 -n jihulab
kubectl scale deployment gitlab-webservice-default --replicas0 -n jihulab
kubectl scale deployment gitlab-gitlab-exporter --replicas0 -n jihulab从前阶段创建的备份恢复数据库(将minio中的备份数据下载到本地并拷贝到toolbox容器中备份文件要在容器中的**/srv/gitlab/tmp/backups**目录下)。 修改values文件 vim gitlab-15.8.yaml ......
postgresql:existingSecret: bogusimage:tag: 14.8.0initdbScriptsConfigMap: bogusinstall: true
...
...升级数据库 按照我们的标准程序 升级极狐GitLab并添加以下内容 在升级命令中使用以下标志禁用迁移--set gitlab.migrations.enabledfalse helm upgrade gitlab gitlab-jh/gitlab \--version 6.11.10 \--timeout 600s \--set certmanager.installfalse \--set global.ingress.configureCertmanagerfalse \--set global.ingress.tls.enabledtrue \--set gitlab.webservice.ingress.tls.secretNamegitlab-jihulab-cn-ssl \--set registry.ingress.tls.secretNameregistry-jihulab-cn-ssl \--set minio.ingress.tls.secretNameminio-jihulab-cn-ssl \--set global.shell.port31475 \--set nginx-ingress.service.typeNodePort \--set gitlab.migrations.enabledfalse \ #gitlab.migrations.enabledfalse必须要加上--values gitlab-15.8.yaml -n jihulab为新版本运行数据库恢复数据 进入到toolbox容器中执行恢复命令 kubectl exec -it gitlab-toolbox-6dd5d8fc59-7nq52 -n jihulab /bin/bash
cd /srv/gitlab/tmp/backups
backup-utility --restore -t 1688440164_2023_07_04_15.11.10-jh1688440164_2023_07_04_15.11.10-jh 是一种格式要求 最下面的蓝框中的报错可以忽略 恢复第一步中的所有 deployment kubectl scale deployment gitlab-gitlab-exporter --replicas1 -n jihulab
kubectl scale deployment gitlab-webservice-default --replicas2 -n jihulab
kubectl scale deployment gitlab-sidekiq-all-in-1-v2 --replicas1 -n jihulab2.4验证 可以创建issue