1

Kubernetes中gitlab的一次迁移

 2 years ago
source link: https://blog.51cto.com/saynaihe/5113078
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

早些时候集群规划不合理,跑了gitlab与Nexus3服务,正好集群要到期了…
Kubernetes中gitlab的一次迁移_kubernetes
哈哈起码小版本升级一下kubernetes集群更新一下证书?但是为准备抛弃这个集群了。准备迁移服务!早些年将docker-compose搭建的gitlab 8版本的应用迁移到过kubernetes 集群: docker 搭建gitlab迁移到kubernetes集群(那还是2019年)。现在的集群是基于: Kubernetes 1.20.5 安装gitlab and  Kubernetes1.20.5 gitlab13.6 update13.10的版本。具体版本为13.10.2。

1. 搭建gitlab集群

参照 Kubernetes 1.20.5 安装gitlab 。当然了 将gitlab镜像的tag修改为了 13.10.2!
Kubernetes中gitlab的一次迁移_kubernetes_02

ubuntu@ap-shanghai-k8s-master-1:~$ kubectl get deployments gitlab -n kube-ops-o yaml|grep image

Kubernetes中gitlab的一次迁移_gitlab_03

2. 备份原有gitlab应用

备份这里出了一点小插曲…

1. gitlab-rake or rake

首先 老版本的备份命令是gitlab-rake,新的版本忘了从哪个版本开始变成了rake 请自行脑补查阅

2. rake执行目录

然后就是rake命令应该在什么路径下执行:
Kubernetes中gitlab的一次迁移_kubernetes_04
我特意切换到backups目录下执行发现就这样报错了…然后怀疑人生了很久…
正确的方式:在/home/git/gitlab目录下执行,如果有和我一样报错的看一下自己执行命令的目录是不是不对

Kubernetes中gitlab的一次迁移_kubernetes_05
切换目录到backups目录,查看生成备份文件:
Kubernetes中gitlab的一次迁移_kubernetes_06

3. kubectl copy文件到服务器

kubectl cp gitlab-b9d95f784-7h8dt:/home/git/data/backups/1647419277_2022_03_16_13.10.2_gitlab_backup.tar /root/12 -n kube-ops

3. 恢复备份文件到kubernetes集群gitlab应用

1. 将备份文件上传到kubernetes集群 中gitlab应用

当然了 这里看个人了 : 可以从备份服务器scp到 kubernetes操作节点,也可以rzsz上传到节点然后执行kuberclt cp命令:

kubectl cp 1647419277_2022_03_16_13.10.2_gitlab_backup.tar gitlab-84c7745d56-dsppz:/home/git/data/backups -n kube-ops

最终是要将备份文件上传到新的容器内!

2.restore备份文件到新环境

依然注意操作路径…

rake gitlab:backup:restore

Kubernetes中gitlab的一次迁移_gitlab_07
根据报错升级了一下bundler gem也升级了一下!

bundle update --bundler  or   gem install bundler:2.1.4
gem update --system

Kubernetes中gitlab的一次迁移_gitlab_08
Kubernetes中gitlab的一次迁移_kubernetes_09
继续restore

rake gitlab:backup:restore

Kubernetes中gitlab的一次迁移_kubernetes_10
连续输入两次yes
Kubernetes中gitlab的一次迁移_gitlab_11
Kubernetes中gitlab的一次迁移_kubernetes_12
ok 还原完成!
注意:备份的时候为貌似也执行过bundle update --bundler gem update --system

3. 验证迁移是否成功:

原应用
Kubernetes中gitlab的一次迁移_gitlab_13
新应用
Kubernetes中gitlab的一次迁移_gitlab_14
测试了一下三没有问题的 直接切换域名了…
注意事项

  1. 基于 https://github.com/sameersbn/docker-gitlab
  2. 比较坑,想升级版本还是没有太好方便的方式…

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK