Kubernetes中gitlab的一次迁移

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: kubernetes

背景:

早些时候集群规划不合理,跑了gitlab与Nexus3服务,正好集群要到期了....
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

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

image.png

2. 备份原有gitlab应用

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

1. gitlab-rake or rake

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

2. rake执行目录

然后就是rake命令应该在什么路径下执行:
middle_img_v2_47bcb2c3-679f-4f84-bcb7-14c38acfce4g.png
我特意切换到backups目录下执行发现就这样报错了......然后怀疑人生了很久.....
正确的方式:在/home/git/gitlab目录下执行,如果有和我一样报错的看一下自己执行命令的目录是不是不对

middle_img_v2_4502f636-2409-4777-b7e7-ccf18726eb2g.png
切换目录到backups目录,查看生成备份文件:
middle_img_v2_3fd3e666-8a5f-438a-a03a-66a9dce0e51g.png

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

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

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

ko160YUem5.png
jv46hjAzYG.png
继续restore......

rake gitlab:backup:restore

u0OvmqCbTY.png
连续输入两次yes
wfHf140eNI.png
abzbBUQkVQ.png
ok 还原完成!
注意:备份的时候为貌似也执行过bundle update --bundler gem update --system

3. 验证迁移是否成功:

原应用
image.png
新应用
image.png
测试了一下三没有问题的 直接切换域名了...
注意事项

  1. 基于https://github.com/sameersbn/docker-gitlab
  2. 比较坑,想升级版本还是没有太好方便的方式......
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2月前
gitlab迁移后报错OpenL::cipher::CipherError
gitlab迁移后报错OpenL::cipher::CipherError
147 0
|
17天前
|
运维 Java Devops
阿里云云效操作报错合集之在进行GitLab代码分支迁移时遇到报错,一般是什么原因
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
2月前
|
jenkins 持续交付 开发工具
【gitlab】旧的gitlab项目迁移新的gitlab
【gitlab】旧的gitlab项目迁移新的gitlab
195 0
|
17天前
|
持续交付 开发工具 git
阿里云云效产品使用问题之在云效代码域中gitlab使用docker安装的,迁移时遇到“获取企业信息失败”,是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
9月前
|
存储 Kubernetes 文件存储
Kubernetes跨StorageClass迁移,切换Rainbond默认SC
在原生的 Kubernetes 集群中,通过 StorageClass 创建的 PVC 是无法修改存储后端的,需要将 PV、PVC 删除后通过新的 StorageClass 创建新的 PVC,然后再将数据迁移,再重新挂载 PVC。当有很多个 PVC 时,需要多次重复的操作。 而 Rainbond 虽然也是通过 StorageClass 创建的 PVC,但相比原生 Kubernetes 省去了创建 PV、PVC 和重新挂载的步骤,以及重复性的操作。在 Rainbond 中只需要将底层存储类更换,然后迁移 Rainbond 所创建的一整个目录,最后重新在页面中修改挂载即可完成迁移。
|
2月前
|
网络安全 开发工具 数据安全/隐私保护
Git - 记一次完整的新旧Gitlab迁移
Git - 记一次完整的新旧Gitlab迁移
264 0
|
11月前
|
缓存 Kubernetes Docker
GitLab Runner部署(kubernetes环境)
记录K8S环境部署GitLab Runner的详细步骤
303 2
GitLab Runner部署(kubernetes环境)
|
9月前
|
Kubernetes 开发工具 Docker
kubernetes环境从docker迁移到containerd
kubernetes环境从docker迁移到containerd
|
9月前
|
Kubernetes jenkins Devops
jenkins+kubernetes+harbor+gitlab构建企业级devops平台
jenkins+kubernetes+harbor+gitlab构建企业级devops平台
|
9月前
|
Kubernetes jenkins Devops
kubernetes+jenkins+harbor+gitlab构建企业级devops平台
kubernetes+jenkins+harbor+gitlab构建企业级devops平台