前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes中gitlab的一次迁移

Kubernetes中gitlab的一次迁移

原创
作者头像
对你无可奈何
发布2022-03-17 14:21:45
8350
发布2022-03-17 14:21:45
举报
文章被收录于专栏:运维专栏运维专栏

背景:

早些时候集群规划不合理,跑了gitlab与Nexus3服务,正好集群要到期了....

middle_img_v2_4ef09801-b1bb-4ad6-94fd-b58240ada3dg.png
middle_img_v2_4ef09801-b1bb-4ad6-94fd-b58240ada3dg.png

哈哈起码小版本升级一下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!

image.png
image.png
代码语言:txt
复制
ubuntu@ap-shanghai-k8s-master-1:~$ kubectl get deployments gitlab -n kube-ops-o yaml|grep image
image.png
image.png

2. 备份原有gitlab应用

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

1. gitlab-rake or rake

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

2. rake执行目录

然后就是rake命令应该在什么路径下执行:

middle_img_v2_47bcb2c3-679f-4f84-bcb7-14c38acfce4g.png
middle_img_v2_47bcb2c3-679f-4f84-bcb7-14c38acfce4g.png

我特意切换到backups目录下执行发现就这样报错了......然后怀疑人生了很久.....

正确的方式:在/home/git/gitlab目录下执行,如果有和我一样报错的看一下自己执行命令的目录是不是不对

middle_img_v2_4502f636-2409-4777-b7e7-ccf18726eb2g.png
middle_img_v2_4502f636-2409-4777-b7e7-ccf18726eb2g.png

切换目录到backups目录,查看生成备份文件:

middle_img_v2_3fd3e666-8a5f-438a-a03a-66a9dce0e51g.png
middle_img_v2_3fd3e666-8a5f-438a-a03a-66a9dce0e51g.png

3. kubectl copy文件到服务器

代码语言:txt
复制
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命令:

代码语言:txt
复制
kubectl cp 1647419277_2022_03_16_13.10.2_gitlab_backup.tar gitlab-84c7745d56-dsppz:/home/git/data/backups -n kube-ops

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

2.restore备份文件到新环境

依然注意操作路径......

代码语言:txt
复制
rake gitlab:backup:restore
yHFNenAsxB.png
yHFNenAsxB.png

根据报错升级了一下bundler gem也升级了一下!

代码语言:txt
复制
bundle update --bundler  or   gem install bundler:2.1.4
gem update --system
ko160YUem5.png
ko160YUem5.png
jv46hjAzYG.png
jv46hjAzYG.png

继续restore......

代码语言:txt
复制
rake gitlab:backup:restore
u0OvmqCbTY.png
u0OvmqCbTY.png

连续输入两次yes

wfHf140eNI.png
wfHf140eNI.png
abzbBUQkVQ.png
abzbBUQkVQ.png

ok 还原完成!

注意:备份的时候为貌似也执行过bundle update --bundler gem update --system

3. 验证迁移是否成功:

原应用

image.png
image.png

新应用

image.png
image.png

测试了一下三没有问题的 直接切换域名了...

注意事项

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景:
  • 迁移过程
    • 1. 搭建gitlab集群
      • 2. 备份原有gitlab应用
        • 1. gitlab-rake or rake
        • 2. rake执行目录
        • 3. kubectl copy文件到服务器
      • 3. 恢复备份文件到kubernetes集群gitlab应用
        • 1. 将备份文件上传到kubernetes集群 中gitlab应用
        • 2.restore备份文件到新环境
        • 3. 验证迁移是否成功:
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档