使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力
  TEZNKK3IfmPf 2023年11月14日 22 0

Rainbond是一体化的云原生应用管理平台,它提供“以应用为中心”的抽象,使用者不需要学习K8s和容器,平台将K8s和容器封装在内部,这种封装方式能极大提高使用的易用性和安装的便利性,但封装的内部组件如何替换是一个问题,本文将讲解如何使用Harbor替换掉Rainbond原有的默认镜像仓库。

​​Harbor​​ 是一个用于存储和分发Docker镜像的企业级Registry服务器,也是首个中国原创的云原生基金会(CNCF)的开源企业级DockerRegistry项目,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。

通Harbor解决Rainbond镜像管理问题

Rainbond之前默认使用的是Docker 提供的基础Registry,使用的过程中有很多问题,例如镜像安全性,镜像清理复杂麻烦等等问题,经过不断的调研,而Harbor不仅能解决这些问题,还能扩充很多镜像管理能力,Harbor 的功能主要包括四大类:多用户的管控(基于角色访问控制和项目隔离)、镜像管理策略(存储配额、制品保留、Loophole扫描、来源签名、不可变制品、垃圾回收等)、安全与合规(身份认证、扫描和CVE例外规则等)和互操作性(Webhook、内容远程复制、可插拔扫描器、REST API、机器人账号等)。

对接Harbor

目前harbor支持两种形式对接Rainbond,一种是作为rainbond内部基础存储仓库,另外一种就是作为外部自定义镜像仓库。

  • Harbor作为Rainbond内部基础存储仓库,进行对接非常简单,只需要在初始化平台集群的时候进行自定义即可。

使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力 ​ ​ Yaml文件的格式要求非常严格,避免大家在配置的时候出现问题,已把正确的yaml文件放在下面,复制就可以使用。 ​ 注意:一定修改仓库的名字,仓库的项目名称, 用户名,以及Password,不然会出现镜像上传失败的问题。

` 
例:
apiVersion: rainbond.io/v1alpha1
kind: RainbondCluster
metadata:
name: rainbondcluster
namespace: rbd-system
spec:
imageHub:
domain: www.est.com/test
password: Harbor12345
username: admin
`
  • Harbor作为rainbond的外部仓库进行提供服务,是基于harbor以及rainbond的webhook功能,配置如下。

- 保证组件已经开启了镜像仓库的webhook功能,且应用状态不是已关闭状态,并且需要将应用的 webhooks url 配置到目标镜像仓库的 webhooks 中 使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力

  • 目标镜像仓库里面,新建一个webhook,然后在 Endpoint 地址填写应用的 webhooks url,配置符合需求的触发事件类型即可

使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力

  • 通过Harbor实现镜像可视化存储管理,提高了工作的便利性。

使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力

  • 基于Rainbond进行构建的时候实现Loophole自动扫描,提高了安全管理。

使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力

  • 通过镜像自动清理的策略,合理利用存储,降低存储成本。

- 推荐使用策略:应用到仓库匹配, 保留最近推送的3个 artifacts基于条件tags匹配基于条件 无 Tag - 推荐定时清理:自定义 cron : 0 0 0 1 */1 * (秒,分,时,日,月,周)

  • 镜像是否被签名,Loophole的等级,也可以设置成为镜像安全策略之一,这样可以保证签名过的镜像或者Loophole等级低的镜像才可以被拉取。

整合后的整体流程

使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力 ​ 通过上面流程图可以看到,整个搭载配置的过程,用户可以自定义镜像源进行拉取镜像,经过Rainbond平台自动推送到Harbor镜像仓库里面,然后等镜像扫描完成以后在进行自动拉取,自动进行构建容器实例。


​​Rainbond​​​ 是完全开源的企业级,面向应用的云原生 DevOps, 开发、测试、生产运维一体化平台,不要求开发者掌握容器、Kubernetes 等复杂能力,面向开发者友好;提供从源码或简单镜像持续构建云原生应用的能力,对源码无侵入,业务持续发布到云端;高效的自动化运维,帮助开发者高效管理高可用的、安全的且去中心化的业务系统。 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年03月22日   62   0   0 容器Docker
  TEZNKK3IfmPf   2023年11月15日   41   0   0 redisDocker
  TEZNKK3IfmPf   2024年04月26日   57   0   0 Docker
  TEZNKK3IfmPf   2023年11月15日   38   0   0 redisDocker
  TEZNKK3IfmPf   2023年11月15日   44   0   0 Docker
  TEZNKK3IfmPf   2024年03月29日   99   0   0 Docker
TEZNKK3IfmPf