「开源摘星计划」华为云SWR镜像同步到Harbor

??‍?博主介绍:大家好!我是李大白,一名运维容器运维工程师,热爱分享知识? 

?擅长领域:云原生、数据库、自动化运维

??如果本文章对小伙伴们有帮助的话,?关注+??点赞+?评论+?收藏!

?如果在文章描述时如有错,恳请各位大佬指正,在此感谢!!!

? 落叶而知秋,博闻而强识!

?  精品专栏:Harbor进阶实战(企业级)

本文已参与「开源摘星计划」,欢迎正在阅读的你加入。

活动链接:https://github.com/weopenprojects/WeOpen-Star


在SWR创建组织(Projects)


华为容器镜像服务(SWR)中的"组织"概念和Harbor中的"项目"是一样的,不同的"组织"用来存放不同应用的镜像。

操作:

【容器镜像服务】—【组织管理】—【创建组织】,然后填写组织名称,点击【确定】即可完成组织的创建。

「开源摘星计划」华为云SWR镜像同步到Harbor

命令行登录华为镜像仓库


在【容器镜像服务】—【总览】—【登录指令】处获取命令行登录华为SWR镜像仓库的命令。

登录指令有效期为24小时

「开源摘星计划」华为云SWR镜像同步到Harbor

「开源摘星计划」华为云SWR镜像同步到Harbor

复制【登录指令】,然后在命令行粘贴,回车登录。

出现“Login Succeeded”则表示登录成功!

「开源摘星计划」华为云SWR镜像同步到Harbor

上传镜像到SWR


方式一、页面上传​

在【容器镜像服务】-【我的镜像】-【页面上传】处将镜像包上传

组织处填写刚才创建的组织名称即可,可用批量上传。

「开源摘星计划」华为云SWR镜像同步到Harbor

方式二、命令行上传​

操作步骤:

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

「开源摘星计划」华为云SWR镜像同步到Harbor

然后在【组织管理】—【详情】-【镜像】可以查看到上传的镜像。

「开源摘星计划」华为云SWR镜像同步到Harbor

Harbor创建目标规则


在Harbor UI管理界面进行以下操作来创建目标规则。

【系统管理】—【仓库管理】-【新建目标】:

「开源摘星计划」华为云SWR镜像同步到Harbor

然后填写相关信息:

 提供者:Huawei SWR     

目标名:swr-test #自定义,填写任意即可

目标URL:上传镜像时提示的地址和组织名称,也就是将SWR指定组织的镜像同步到Harbor指定的项目中,根据自己的实际信息填写;

访问ID:在命令行登录SWR的登录指令中,-u参数后的字符串就是访问ID(用户名);

访问密码:在命令行登录SWR的登录指令中,-P参数后的字符串就是访问密码(24小时有效期);

「开源摘星计划」华为云SWR镜像同步到Harbor

补充:去掉【验证远程证书】

然后点击【测试连接】按钮,出现【测试连接成功】则说明信息填写正常,如果失败则检查填写的参数是否有误。

然后点击【确定】

「开源摘星计划」华为云SWR镜像同步到Harbor

Harbor创建复制规则


前面创建了一个目标规则来指定了华为SWR镜像仓库和Harbor镜像仓库的连接关系,现在则需要将SWR中组织中的镜像同步到Harbor中。

操作:【系统管理】-【复制管理】-【新建规则】

「开源摘星计划」华为云SWR镜像同步到Harbor

然后填写相关参数:

  • 名称:自定义名称​
  • 复制模式:pull-based表示Harbor从SWR pull镜像;Push-based则是将本地的镜像传到SWR上。​
  • 源仓库:刚才创建的目标规则中,SWR的项目URL​
  • 资源过滤器:都空白(表示SWR中指定组织中的所有镜像都同步到Harbor),可以过滤哪些镜像不用同步。​
  • 目标:不填,指定目标名称空间,不填则表示资源会放到和源(SWR)相同的名称空间下(组织名称)​
  • 触发模式:手动,有手动和定时两种​
  • 带宽:-1 (不限制传输速度)​

「开源摘星计划」华为云SWR镜像同步到Harbor

「开源摘星计划」华为云SWR镜像同步到Harbor

「开源摘星计划」华为云SWR镜像同步到Harbor

然后点击【保存】

「开源摘星计划」华为云SWR镜像同步到Harbor

然后选择刚才新建好的【复制规则】,然后点击【复制】按钮进行复制(同步)。

「开源摘星计划」华为云SWR镜像同步到Harbor

这里出现了个报错:

「开源摘星计划」华为云SWR镜像同步到Harbor

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

「开源摘星计划」华为云SWR镜像同步到Harbor

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

「开源摘星计划」华为云SWR镜像同步到Harbor

【原因】华为的域名连接不上

推荐阅读

Harbor高可用集群设计及部署(实操+视频),基于离线安装方式

​阿里云镜像迁移到Harbor详细的操作步骤​

​shell中获取Harbor中所有的镜像列表​

​担心Harbor数据丢失?谈谈Harbor的备份和恢复方法。​

​Prometheus监控Harbor实战(全网首发)​

​Harbor版本升级(图文并茂)​

​kubernetes使用NFS作为存储的操作步骤(保姆式分享)​

​Harbor高可用设计,使用外部数据库-详细到爆的操作步骤​

「开源摘星计划」华为云SWR镜像同步到Harbor

发表评论

相关文章