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

harbor 仓库迁移升级

harbor 仓库迁移升级

    • harbor仓库安装
    • 数据传输
    • 仓库切换

版本 v1.8.0 v2.3.5

harbor仓库安装

环境准备:安装docker详见:docker 的介绍和部署,并下载docker-compose详见:docker 三剑客compose。

现有支持的安装harbor仓库的方式有两种,一种是离线安装,一种是在线安装。

wget https://github.com/goharbor/harbor/releases/download/v2.3.5/harbor-offline-installer-v2.3.5.tgz ## 离线安装详见:docker仓库
wget https://github.com/goharbor/harbor/releases/download/v2.3.5/harbor-online-installer-v2.3.5.tgz #在线安装
此次由于网络是良好的,直接选择在线安装:

先将下载好的在线安装包解压至/usr/local/harbor下;
将提供的模板 harbor.yml.tmpl 复制为 harbor.yml ,并根据需求进行修改;

5 hostname: reg.mydomain.com         #设定自己的域名,此处先不要和旧仓库同名,不然在后续从旧仓库进行数据同步时连接会有报错        
8 http:                              #选择是否开启80端口
9 #port for http, default is 80. If https enabled, this port will redirect to https port
10   port: 80
12 #https related config
13 https:                             #选择是否开启443端口,如果开启443端口,需要配置nginx认证文件和key;
15   port: 443
16   #The path of cert and key files for nginx
17   certificate: /your/certificate/path
18   private_key: /your/private/key/path34 harbor_admin_password: Harbor12345  #设定harbor仓库登录的密码
47 data_volume: /data                  #设定仓库数据挂载目录
  1. 初始化准备,在当前目录下执行命令 ./prepare 来使修改的文件生效;并生成 docker-compose.yml文件。Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 docker-compose 来对它进行部署。
  2. 开始安装,在当前目录执行命令 ./install.sh --help 来查看安装可以选择的插件;其中包括 --with-notary (公正服务)、–with-trivy (漏洞扫描器)、–with-chartmuseum (图表支持) ,根据需要选择需要的插件来进行安装。
  3. 检测,等所有镜像下载完成之后,在当前目录执行命令 docker-compose ps 查看所有容器的状态,当都起来之后,便可根据自己设定的域名或IP:端口进行访问。然后本地进行上传和下载镜像的测试。当遇到登录问题是,需要在在docker 中加入非安全仓库的信息,然后重启docker服务。

数据传输

在仓库管理处,新建目标。在新建目标时可能会报错,如果是域名的问题,需要进入 harbor-core 和 harbor-jobservice 中添加本地解析;报错日志可以在harbor.yaml文件中指定的日志目录下的core.log中查看具体报错原因。

在这里插入图片描述

在这里插入图片描述

同步数据,选择新仓库拉旧仓库的镜像,此处要选择刚才添加的目标。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

仓库切换

  1. 在数据传输完之后,需要将harbor.yaml文件中的域名给改为和旧仓库一致;然后重新初始化,初始化完成之后在对应的目录用命令 docker-compose up -d 来启动服务;
  2. 查看当前镜像仓库是否和同步之前的一致;在本机先进行上传和下载镜像的测试;然后在所有的k8s节点测试;
    修改所有k8s节点的hosts本地解析,将其执向转发的nginx来进行管理。

后续发现还是会有一定的流量会到旧的仓库去拉镜像,随后在旧仓库的服务器上关闭旧仓库,搭建了haproxy的代理,将所有请求旧仓库的流量转发到新的仓库。并在旧仓库上进行抓包,确定遗漏的没有改到解析的服务器,并进行更改,当抓包几日没有新的请求时,可以关闭代理,此次迁移完整结束。

抓包:tcpdump -nn -i any -s 0 tcp port 443 and dst host 旧仓库IP and ! host 新仓库IP

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

相关文章:

  • 评论功能设计思路~
  • 算法训练营 day52 动态规划 买卖股票的最佳时机系列1
  • 3.基于分割的文本检测算法--DBNet++
  • IOS打包、SDK接入记录等
  • 【C++】类与对象(引入)
  • Redis 高级数据类型
  • Java8 新特性-函数式接口
  • 这套软件测试试卷能打90分,直接入职字节吧
  • GUI可视化应用开发及Python实现
  • 【论文简述】GMFlow: Learning Optical Flow via Global Matching(CVPR 2022)
  • 【Spark分布式内存计算框架——离线综合实战】5. 业务报表分析
  • 力扣-删除重复的电子邮箱
  • git基础
  • postgres 源码解析50 LWLock轻量锁--1
  • JVM优化常用命令
  • 按键中断实验
  • kubernetes入门介绍,从0到1搭建并使用
  • 【C语言进阶】字符串函数与内存函数的学习与模拟实现
  • 【JavaEE初阶】第一节.多线程(进阶篇 ) 常见的锁策略、CAS及它的ABA问题
  • Linux基础命令-pstree树状显示进程信息
  • keepalived+LVS配置详解
  • Unity之C#端使用protobuf
  • C++设计模式(18)——模板方法模式
  • SQLserver 索引碎片
  • 【Storm】【二】安装
  • Android ConditionVariable
  • Action Segmentation数据集介绍——Breakfast
  • 横道图时间标尺在P6软件中的设置
  • 空间复杂度(超详解+例题)
  • Document-Level event Extraction via human-like reading process 论文解读