Kubernetes中gitlab的一次迁移

简介: 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. 比较坑,想升级版本还是没有太好方便的方式......
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
7月前
gitlab迁移后报错OpenL::cipher::CipherError
gitlab迁移后报错OpenL::cipher::CipherError
225 0
|
1月前
|
存储 运维 Kubernetes
K8s业务迁移最佳实践: 灵活管理资源备份与调整策略,实现高效简便的应用恢复
在当今快速变化的云原生领域,Kubernetes(K8s)集群的运维面临着诸多挑战,其中灾备与业务迁移尤为关键。ACK备份中心支持丰富的资源调整策略,在数据恢复阶段即可自动适配目标集群环境,确保业务无缝重启。
|
6月前
|
运维 Java Devops
阿里云云效操作报错合集之在进行GitLab代码分支迁移时遇到报错,一般是什么原因
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
1月前
|
存储 运维 Kubernetes
云端迁移:备份中心助力企业跨云迁移K8s容器服务平台
本文将简要介绍阿里云容器服务ACK的备份中心,并以某科技公司在其实际的迁移过程中遇到具体挑战为例,阐述如何有效地利用备份中心来助力企业的容器服务平台迁移项目。
|
7月前
|
jenkins 持续交付 开发工具
【gitlab】旧的gitlab项目迁移新的gitlab
【gitlab】旧的gitlab项目迁移新的gitlab
1314 0
|
4月前
|
Kubernetes 关系型数据库 MySQL
k8s安装并迁移jumpserver
k8s安装并迁移jumpserver
|
4月前
|
Prometheus Kubernetes 监控
在K8S中,如何进行Kubernetes迁移工作?
在K8S中,如何进行Kubernetes迁移工作?
|
4月前
|
Kubernetes Unix Linux
k8s将节点容器运行时从Docker迁移到Containerd
k8s将节点容器运行时从Docker迁移到Containerd
|
4月前
|
JSON Kubernetes 数据格式
k8s集群yaml文件方式迁移
k8s集群yaml文件方式迁移
|
6月前
|
持续交付 开发工具 git
阿里云云效产品使用问题之在云效代码域中gitlab使用docker安装的,迁移时遇到“获取企业信息失败”,是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。

热门文章

最新文章