Kubernetes中gitlab的一次迁移
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集群更新一下证书?但是为准备抛弃这个集群了。准备迁移服务!早些年将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.4
gem update --system
继续restore…
rake gitlab:backup:restore
连续输入两次yes
ok 还原完成!
注意:备份的时候为貌似也执行过bundle update --bundler gem update --system
3. 验证迁移是否成功:
原应用
新应用
测试了一下三没有问题的 直接切换域名了…
注意事项
- 基于 https://github.com/sameersbn/docker-gitlab
- 比较坑,想升级版本还是没有太好方便的方式…
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK