背景:
早些时候集群布局不合理,跑了gitlab与Nexus3服务,正好集群要到期了....
哈哈起码小版本降级一下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!
ubuntu@ap-shanghai-k8s-master-1:~$ kubectl get deployments gitlab -n kube-ops-o yaml|grep image
2. 备份原有gitlab利用
备份这里出了一点小插曲......
1. gitlab-rake or rake
首先 老版本的备份命令是gitlab-rake,新的版本忘了从哪个版本开始变成了rake 请自行脑补查阅
2. rake执行目录
而后就是rake命令应该在什么门路下执行:
我特意切换到backups目录下执行发现就这样报错了......而后狐疑人生了很久.....
正确的形式:在/home/git/gitlab目录下执行,如果有和我一样报错的看一下本人执行命令的目录是不是不对
切换目录到backups目录,查看生成备份文件:
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
依据报错降级了一下bundler gem也降级了一下!
bundle update --bundler or gem install bundler:2.1.4gem update --system
持续restore......
rake gitlab:backup:restore
间断输出两次yes
ok 还原实现!
留神:备份的时候为貌似也执行过bundle update --bundler gem update --system
3. 验证迁徙是否胜利:
原利用
新利用
测试了一下三没有问题的 间接切换域名了...
注意事项
- 基于https://github.com/sameersbn/docker-gitlab
- 比拟坑,想降级版本还是没有太好不便的形式......