「开源摘星计划」华为云SWR镜像同步到Harbor
Posted 键客李大白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「开源摘星计划」华为云SWR镜像同步到Harbor相关的知识,希望对你有一定的参考价值。
在SWR创建组织(Projects)
华为容器镜像服务(SWR)中的"组织"概念和Harbor中的"项目"是一样的,不同的"组织"用来存放不同应用的镜像。
操作:
【容器镜像服务】—【组织管理】—【创建组织】,然后填写组织名称,点击【确定】即可完成组织的创建。
命令行登录华为镜像仓库
在【容器镜像服务】—【总览】—【登录指令】处获取命令行登录华为SWR镜像仓库的命令。
登录指令有效期为24小时
复制【登录指令】,然后在命令行粘贴,回车登录。
出现“Login Succeeded”则表示登录成功!
上传镜像到SWR
方式一、页面上传
在【容器镜像服务】-【我的镜像】-【页面上传】处将镜像包上传
组织处填写刚才创建的组织名称即可,可用批量上传。
方式二、命令行上传
操作步骤:
Step 1. 以root用户登录容器引擎所在的虚拟机
Step 2. 获取登录访问指令,并复制到节点上执行
生成临时登录指令或查看如何获取长期有效登录指令。
Step 3. 上传镜像
$ sudo docker tag [镜像名称:版本名称] swr.cn-north-4.myhuaweicloud.com/组织名称/镜像名称:版本名称
$ sudo docker push swr.cn-north-4.myhuaweicloud.com/组织名称/镜像名称:版本名称
下载镜像并上传到SWR(测试)
[root@lidabai harbor]# docker pull nginx:1.22
[root@lidabai harbor]# docker pull traefik:v2.8.1
[root@lidabai harbor]# docker tag nginx:1.22 swr.cn-north-4.myhuaweicloud.com/lidabai-damo/nginx:1.22
[root@lidabai harbor]# docker push swr.cn-north-4.myhuaweicloud.com/lidabai-damo/nginx:1.22
[root@lidabai harbor]# docker tag traefik:v2.8.1 swr.cn-north-4.myhuaweicloud.com/lidabai-damo/traefik:v2.8.1
[root@lidabai harbor]# docker push swr.cn-north-4.myhuaweicloud.com/lidabai-damo/traefik:v2.8.1
然后在【组织管理】—【详情】-【镜像】可以查看到上传的镜像。
Harbor创建目标规则
在Harbor UI管理界面进行以下操作来创建目标规则。
【系统管理】—【仓库管理】-【新建目标】:
然后填写相关信息:
提供者:Huawei SWR
目标名:swr-test #自定义,填写任意即可
目标URL:上传镜像时提示的地址和组织名称,也就是将SWR指定组织的镜像同步到Harbor指定的项目中,根据自己的实际信息填写;
访问ID:在命令行登录SWR的登录指令中,-u参数后的字符串就是访问ID(用户名);
访问密码:在命令行登录SWR的登录指令中,-P参数后的字符串就是访问密码(24小时有效期);
补充:去掉【验证远程证书】
然后点击【测试连接】按钮,出现【测试连接成功】则说明信息填写正常,如果失败则检查填写的参数是否有误。
然后点击【确定】
Harbor创建复制规则
前面创建了一个目标规则来指定了华为SWR镜像仓库和Harbor镜像仓库的连接关系,现在则需要将SWR中组织中的镜像同步到Harbor中。
操作:【系统管理】-【复制管理】-【新建规则】
然后填写相关参数:
- 名称:自定义名称
- 复制模式:pull-based表示Harbor从SWR pull镜像;Push-based则是将本地的镜像传到SWR上。
- 源仓库:刚才创建的目标规则中,SWR的项目URL
- 资源过滤器:都空白(表示SWR中指定组织中的所有镜像都同步到Harbor),可以过滤哪些镜像不用同步。
- 目标:不填,指定目标名称空间,不填则表示资源会放到和源(SWR)相同的名称空间下(组织名称)
- 触发模式:手动,有手动和定时两种
- 带宽:-1 (不限制传输速度)
然后点击【保存】
然后选择刚才新建好的【复制规则】,然后点击【复制】按钮进行复制(同步)。
这里出现了个报错:
failed to fetch artifacts Gethttp://swr.cn-north4 myhuaweicloud . com/lidabai-damo/dockyard/v2/repositones ? filter-centerself diatco 124.70.122.75:80 connect connecton refused
failed to fetch artifacts : Gethttp://swr.cn-north-4 . myhuaweicloud . com / lidadamo / dockyard / v2 / repositories ? filter = center self " diatcp 124.70.122.75:80 connect : connection refused
【原因】华为的域名连接不上
推荐阅读
Harbor高可用集群设计及部署(实操+视频),基于离线安装方式
担心Harbor数据丢失?谈谈Harbor的备份和恢复方法。
Prometheus监控Harbor实战(全网首发)
kubernetes使用NFS作为存储的操作步骤(保姆式分享)
Harbor高可用设计,使用外部数据库-详细到爆的操作步骤
以上是关于「开源摘星计划」华为云SWR镜像同步到Harbor的主要内容,如果未能解决你的问题,请参考以下文章
「开源摘星计划」优麒麟系统(国产)部署Harbor私有镜像仓库服务