美文网首页
gitlab 迁移

gitlab 迁移

作者: tongesysu | 来源:发表于2018-12-29 16:18 被阅读0次

如果要在物理机上进行gitlab 迁移应该是一件比较容易的事,
数据迁移过程其实很简单,官方有很详细的说明,详情见链接

但这次我想将其迁移到 kubernetes 集群,所以遇到了一系列的问题。

0. 持久化数据文件

这个比较容易解决,kubernetes 目前支持 PersistentVolume ,即通过配置一个 NFS 来进行访问

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-pv
  namespace: gitlab-nscc
  labels:
    pv: nfs-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /usr/local/work/nfs
    server: kn2
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: nfs-pvc
  namespace: gitlab-nscc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  selector:
    matchLabels:
      pv: nfs-pv

做完发现 10G有些小了;目前已经用掉了 5.2 G

2. 通过 gitlab 官方镜像 gitlab/gitlab-ce 进行部署

优先放上来最终方案,更准确的应该称为 omnibus-docker 方案 。对应的docker 命令是:

docker run --name="gitlab" -it --publish 8808:80  --detach --hostname git.example.cn -v  /usr/local/work/nfs-mount/gitlab/config:/etc/gitlab -v  /usr/local/work/nfs-mount/gitlab/logs:/var/log/gitlab -v  /usr/local/work/nfs-mount/gitlab:/var/opt/gitlab   gitlab/gitlab-ce:9.5.2-ce.0

https://docs.gitlab.com/omnibus/docker/

# 关闭服务
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
# Verify
sudo gitlab-ctl status
# This command will overwrite the contents of your GitLab database!
sudo gitlab-rake gitlab:backup:restore BACKUP=1493107454_2018_04_25_10.6.4-ce
# 重启服务并检查
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true

最终采用的方案其实是基于这个方案的 kuberntes 部署方案, svc, deployment, ingress 等的配置参考 #2 进行即可

2. 通过 github.com/lwolf/kubernetes-gitlab 部署

这其实是一个不错的方案,功能很强大,结合#1 也运行起来了,但是在读入旧数据后,进入项目内部的文档后,一直显示是空的。原因应该是在 迁移数据时需要停掉 sidekiq 和 unicorn ; 然而在这个容器环境中没有 gitlab-ctl , 一直没有找到停掉sidekiq 的方式。

如果需要部署一个新的 gitlab@k8s ,这是个值得推荐的方案,但是由于没有 omnibus 工具,需要对 k8s 有比较多的了解来进行使用。

3. 通过 ubuntu 基础镜像来进行安装 gitlab-omnibus

一开始安装过程会卡住,换了国内的软件源后可以 apt-get ; 但安装过程会卡住

: ruby_block[supervise_redis_sleep] action run

而且由于位于容器的原因没有方便的办法来进行处理这个问题。

3。 通过 helm 安装

这其实也是官方推荐的部署方式;然而由于GW的原因,helm ,helm 无法下载位于 google 服务器上的镜像。

不过在这个过程中发现 helm 确实是一个不错的工具;可以考虑用其来进行目前部署的服务的管理。

如果网络通畅,这应该是最优的 (毕竟是官方的)gitlab@k8s 方案

相关文章

  • git远程仓库迁移

    公司从gogs迁移到gitlab需要迁移代码

  • gitlab bash迁移单个项目下多个分支【增量方式】

    先在本地gitlab上创建一个要迁移的项目 名 最后检查本地环境gitlab仓库是否迁移成功?

  • Gitlab安装配置及旧git项目的导入

    一直用Gitblit,最近要迁移到Gitlab上,记录一下安装和迁移的过程。 1. Gitlab安装 在CentO...

  • GitLab 迁移

    指定备份路径 vi /opt/gitlab-6.4.3-1/apps/gitlab/htdocs/config/g...

  • GitLab 迁移

    Gitlab 修改普通用户密码 Gitlab 创建备份 使用Gitlab一键安装包安装Gitlab非常简单, 同样...

  • gitlab迁移

    gitlab备份 默认备份目录 /var/opt/gitlab/backups/ 备份配置文件 gitlab停止数...

  • gitlab 迁移

    如果要在物理机上进行gitlab 迁移应该是一件比较容易的事,数据迁移过程其实很简单,官方有很详细的说明,详情见链...

  • gitlab迁移

    在老服务器上将备份文件发送至新服务器的相应目录下 [root@gitlab ~]# scp /var/opt/gi...

  • gitlab 数据配置迁移

    背景 最开始gitlab是部署在公司内网的机器上,现在需要将gitlab迁移至阿里云上。以下是迁移的详细步骤。 准...

  • gitlab 新建项目 git 命令 学习

    新项目迁移gitlab,学一波git ^ ^ GitHub && Gitlab && SVN 比较 SVN和Git...

网友评论

      本文标题:gitlab 迁移

      本文链接:https://www.haomeiwen.com/subject/jhfplqtx.html