当前位置: 首页 > news >正文

Harbor 私有仓库迁移

文章目录

  • 一.私有仓库迁移的介绍
    • 1.为何要对Harbor 私有仓库的迁移
    • 2.Harbor 私有仓库的迁移特点
    • 3. Harbor 私有仓库的迁移注意要点
  • 二.私有仓库迁移配置
    • 1.源Harbor配置(192.168.198.11)
      • (1)接着以下操作查看容器状况及是否可以登录 Harbor WEB UI 界面
    • 2.客户端配置(192.168.198.13)
      • (1)查看客户端状态
    • 3.新harbor服务器配置(192.168.198.12)
      • (1)安装docker容器并下载centos7镜像
      • (2)部署docker-compose
      • (3)部署Harbor服务
    • 4.数据迁移
      • (1)Harbor迁移需要迁移镜像和日志(192.168.198.11)
      • (2)新的Harbor(192.168.198.12)
      • (3)客户端登录新的Harbor(192.168.198.13)

一.私有仓库迁移的介绍

1.为何要对Harbor 私有仓库的迁移

(1)硬件升级或更换:如果源 Harbor 在旧的硬件设备上运行,并且计划将其迁移到新的硬件设备上,那么需要执行迁移操作。

(2)数据中心迁移:当需要将 Harbor 私有仓库从一个数据中心迁移到另一个数据中心时,例如迁移到不同的地理位置或云服务提供商的平台,迁移操作将是必需的。

(3)版本升级:当计划升级 Harbor 版本时,需要进行迁移操作以保留现有的私有仓库数据和设置。

(4)容量扩展:如果源 Harbor 的存储空间已经不足,或者需要将 Harbor 扩展到更大的存储系统上,那么迁移操作是必要的。

总:通过进行 Harbor 私有仓库的迁移操作,可以确保将存储的镜像、仓库配置和认证信息等重要数据安全地迁移到新的环境中,以保证 Harbor 的正常运行和用户访问的连续性。此外,在迁移过程中可以对旧的配置进行优化和调整,提高 Harbor 的性能和可靠性。

2.Harbor 私有仓库的迁移特点

(1)镜像迁移:Harbor 私有仓库是用来存储 Docker 镜像的,迁移操作主要涉及将源仓库中的镜像迁移到目标仓库中。这是迁移过程的核心部分,需要保证镜像的完整性和正确性。

(2)配置文件迁移:迁移 Harbor 还涉及将源仓库的配置文件迁移到目标仓库中,以确保在目标环境中正确配置相应的参数。

(3)认证和授权信息迁移:私有仓库可能涉及用户认证和授权机制,迁移过程中需要保证用户和权限信息的迁移,以便用户在目标环境中正常访问和管理仓库。

(4)数据一致性和可用性:迁移过程中,需要确保迁移的镜像和相关数据在源仓库和目标仓库之间的一致性和可用性。这可以通过对迁移过程进行验证和测试来实现。

(5)同步迁移和增量迁移:可以根据迁移需求选择同步迁移或增量迁移的方式。同步迁移是将整个仓库数据一次性迁移到目标环境中,适用于大规模迁移。增量迁移是将只增量部分的镜像和数据迁移到目标环境中,适用于部分镜像的迁移或者迁移时间较长的情况。

总:Harbor 私有仓库的迁移涉及到镜像、配置文件、认证和授权信息等的迁移,需要保证数据的一致性和可用性,同时需要选择合适的迁移方式和进行验证和测试,以保证迁移的成功和稳定性。

3. Harbor 私有仓库的迁移注意要点

(1)目标环境的网络和存储条件是否满足 Harbor 所需的条件。

(2)迁移的 Docker 镜像数量和大小,以及所需要的时间和带宽。

(3)是否需要对 Harbor 配置文件进行更改,以适应新环境中的不同配置。

(4)用户访问新的容器镜像仓库时,是否会对应用程序或脚本造成影响。

二.私有仓库迁移配置

主机IP地址主要软件
服务端1192.168.198.11docker、docker-compose 、harbor-offline-v1.1.2
服务端2192.168.198.12docker、docker-compose 、harbor-offline-v1.1.2
客户端192.168.198.13docker

1.源Harbor配置(192.168.198.11)

此处配置参考https://blog.csdn.net/Katie_ff/article/details/132498162?spm=1001.2014.3001.5501

(1)接着以下操作查看容器状况及是否可以登录 Harbor WEB UI 界面

#关闭防火墙
systemctl stop firewalld
setenforce 0
cd /usr/local/harbor/
#查看容器的启动状况,如不是up状态需手动启动
docker-compose ps
docker-compose up

在这里插入图片描述
在这里插入图片描述

#查看相关容器是否启动,若未启动,需手动启动
docker ps -a
docker start 容器ID

在这里插入图片描述
在这里插入图片描述

#网页测试是否正常并登录查看源harbor已有的镜像
http://192.168.198.11

在这里插入图片描述

img

img

测试登录私有仓库是否正常并查看相关镜像
docker login -u admin -p Harbor12345  http://127.0.0.1
docker images

在这里插入图片描述

2.客户端配置(192.168.198.13)

(1)查看客户端状态

#关闭防火墙
systemctl stop firewalld
setenforce 0

此处配置参考https://blog.csdn.net/Katie_ff/article/details/132498162?spm=1001.2014.3001.5501

接着以下操作查看容器是否可以登录到harbor端的私有仓库

docker login -u admin -p Harbor12345 http://192.168.198.11

在这里插入图片描述

3.新harbor服务器配置(192.168.198.12)

(1)安装docker容器并下载centos7镜像

#关闭防火墙
systemctl stop firewalld.service
setenforce 0
#修改新harbor主机名,区分新旧
hostnamectl set-hostname harbor01
su
#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 
#设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
#安装 Docker-CE并设置为开机自动启动
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker.service
systemctl enable docker.service 
docker pull centos:7

(2)部署docker-compose

curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#下载docker-compose包
chmod +x /usr/local/bin/docker-compose
#添加权限
docker-compose --version
#查看版本

(3)部署Harbor服务

cd /opt
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
#将harbor压缩包传到/opt目录下,解压到/usr/local目录下
#此处可直接将旧的配置文件发过来,也可自己再手动配置
cp /usr/local/harbor/harbor.cfg harbor.cfg,bak
vim /usr/local/harbor/harbor.cfg
#修改harbor配置文件内容如下
hostname = 192.168.198.12
#第5行修改,设置为Harbor服务器的IP地址或者域名
harbor_admin_password = Harbor12345
第59行指定管理员的初始密码,默认的用户名/密码是admin/Harbor12345可不修改,保存退出

在这里插入图片描述

cd /usr/local/harbor/
./prepare
./install.sh
#进入harbor目录执行脚本检查安装harbor
docker-compose ps

在这里插入图片描述

#登录测试,查看并未有镜像
http://192.168.198.12

在这里插入图片描述

4.数据迁移

(1)Harbor迁移需要迁移镜像和日志(192.168.198.11)

#在源harbor上面查看镜像存储路径和日志存储路径
cd /usr/local/harbor
#在目录打开docker-compose.yml文件
vim docker-compose.yml

在这里插入图片描述
在这里插入图片描述

#进入两个目录中打包所有的资源
cd /data/registry/
tar -cf new.tar.gz ./*
cd /data/database/
tar -cf new1.tar.gz ./*

在这里插入图片描述

#将打包的镜像和日志移到新的harbor上
cd /data/registry/
scp new.tar.gz 192.168.198.12:/data/registry/
cd /data/database/
scp new1.tar.gz 192.168.198.12:/data/database/

(2)新的Harbor(192.168.198.12)

#进入相关目录将其解压
cd /data/registry/
tar -xvf new.tar.gz
cd /data/database/
tar -xvf new1.tar.gz
#解压后重启
cd /usr/local/harbor/
docker-compose restart
#登录查看是否已存在
http://192.168.198.12

在这里插入图片描述

已存在192.168.198.11上的镜像及日志

在这里插入图片描述

(3)客户端登录新的Harbor(192.168.198.13)

#进入配置文件修改地址
vim /usr/lib/systemd/system/docker.service
#第13行
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.198.12 --containerd=/run/containerd/containerd.sock

在这里插入图片描述

#重启
systemctl daemon-reload
systemctl restart docker.service
#登录新的Harbor,登录成功
docker login -u admin -p Harbor12345 http://192.168.198.12

在这里插入图片描述

docker images

在这里插入图片描述

#测试在源Harbor上面创建的用户登录,登录成功
docker login -u summer -p Harbor12345 http://192.168.198.12

`在这里插入图片描述

http://www.lryc.cn/news/145890.html

相关文章:

  • 制造业物联网革命:智慧工厂数据采集与远程监控管理
  • 软考A计划-网络工程师-复习背熟-网络管理和计算机基础知识
  • springBoot打印精美logo
  • kali开启SSH服务(简单无比)
  • Ubuntu20.04如何更换国内源-阿里云源
  • goland设置
  • 2023年Java核心技术第十篇(篇篇万字精讲)
  • 分享一篇关于如何使用BootstrapVue的入门指南
  • 【1day】复现Cellular Router命令执行漏洞
  • 【Torch API】pytorch 中repeat_interleave函数详解
  • TDesign表单rules通过函数 实现复杂逻辑验证输入内容
  • springgateway网关修改响应后,部分中文乱码问题
  • 微信开发之一键发布群公告的技术实现
  • R语言和Python用泊松过程扩展:霍克斯过程Hawkes Processes分析比特币交易数据订单到达自激过程时间序列...
  • 自动化运维:Ansible脚本之playbook剧本
  • 基于角色访问控制-RBAC(Role-Based Access Control)
  • springboot项目实现断点续传
  • 解析经典面试题:for 循环中的 let var
  • CSS按钮-跑马灯边框
  • 【PCIE系统学习】Gen1/2Gen3/4 symobl与OrderSet概念对比
  • C++ Qt 中QMimeDatabase类详细介绍以及应用场景
  • 深度学习7:生成对抗网络 – Generative Adversarial Networks | GAN
  • R语言空气污染数据的地理空间可视化和分析:颗粒物2.5(PM2.5)和空气质量指数(AQI)...
  • 实现excel导出最简单方式
  • 【每日一题Day310】LC1654到家的最少跳跃次数 | BFS
  • [Android AIDL] --- AIDL原理简析
  • 企业的固定资产管理怎么操作
  • Rust 进阶学习
  • 保护网站安全:学习蓝莲花的安装和使用,复现跨站脚本攻击漏洞及XSS接收平台
  • Redis——如何解决redis穿透、雪崩、击穿问题