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

Harbor简介

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

通Harbor解决Rainbond镜像管理问题

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

对接Harbor

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

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

​ Yaml文件的格式要求非常严格,避免大家在配置的时候出现问题,已把正确的yaml文件放在下面,复制就可以使用。

注意:一定修改仓库的名字,仓库的项目名称, 用户名,以及密码,不然会出现镜像上传失败的问题。

例:
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 中

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

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

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

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

    • 推荐使用策略:应用到仓库匹配, 保留最近推送的3个 artifacts基于条件tags匹配基于条件 无 Tag
    • 推荐定时清理:自定义 cron : 0 0 0 1 */1 * (秒,分,时,日,月,周)
  • 镜像是否被签名,漏洞的等级,也可以设置成为镜像安全策略之一,这样可以保证签名过的镜像或者漏洞等级低的镜像才可以被拉取。

整合后的整体流程

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


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

使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力的更多相关文章

  1. 配置kuernetes集群pod拉取私有镜像仓库中的镜像

    目录 1 背景说明 2 实现方法 3 具体实现 配置镜像仓库项目为公开类型(任何人可以访问) 配置docker-registry类型的secret(pod使用secret获取镜像认证) 通过账户名密码 ...

  2. 003-docker命令-远程镜像仓库命令,本地镜像管理命令

    1.远程镜像仓库 docker login/logout:查看 [不常用] docker push:查看 [不常用] docker search:从Docker Hub查找镜像 语法:docker s ...

  3. Kubernetes从私有镜像仓库中拉取镜像

    当我们尝试从私有仓库中拉取镜像时,可能会收到这样提示:requested access to the resource is denied Error response from daemon: pu ...

  4. Portainer安装,配置自定义镜像仓库拉取镜像

    Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...

  5. Jfrog Artifactory 创建docker 镜像仓库以及 push 镜像到 该仓库.

    1. 安装aitifactory 以及 启动 使用30天有效期激活 不在阐述. 2. 登录artifactory username:admin password:password 3. 创建 仓库 在 ...

  6. Docker: 企业级镜像仓库Harbor的使用

    上一节,演示了Harbor的安装部署 这次我们来讲解 Harbor的使用. 我们需要了解到: 1. 如何推镜像到镜像仓库 2. 如何从镜像仓库拉取镜像 3. 如何运行从私有仓库拉取的镜像 # 查看 h ...

  7. docker 系列 - 企业级私有镜像仓库Harbor部署(转载)

     本文转载自 搜云库 的文章 https://www.jianshu.com/p/7d76850de03f  , 感谢作者 3.png 上一篇文章搭建了一个具有基础功能,权限认证.TLS 的私有仓库, ...

  8. 企业级Docker镜像仓库Harbor部署与使用

    yum install docker 官网地址:https://docs.docker.com/compose/install/ 运行此命令以下载Docker Compose的当前稳定版本 1 sud ...

  9. DOCKER学习_016:Docker镜像仓库和HARBOR的简单安装和管理

    一 镜像仓库介绍 1.1 简介 镜像仓库用于存放 Docker镜像 Docker registry提供镜像仓库服务 一个 Docker registry可以包含多个镜像仓库 仓库分为公共镜像仓库与私有 ...

  10. 配置 Containerd 在 harbor 私有仓库拉取镜像

    官方文档地址:https://github.com/containerd/cri/blob/master/docs/registry.md 严格来说,这个具体可分为两部分 1.在k8s中使用Conta ...

随机推荐

  1. 学习Source Generators之了解Source Generators的应用场景

    前面的文章我们都初步学习了Source Generators的使用方式以及做了一些简单的代码生成工具. 但是Source Generators除了做自动代码生成之外,还能有别的应用场景,本文来了解一下 ...

  2. 深入理解DES算法:原理、实现与应用

    title: 深入理解DES算法:原理.实现与应用 date: 2024/4/14 21:30:21 updated: 2024/4/14 21:30:21 tags: DES加密 对称加密 分组密码 ...

  3. Flask搭建APP统一管理平台

    主页效果: 1.从数据库中获取所有APP的信息,每个卡片上展示APP名称.bundle id.版本构建历史记录,系统类型等构建信息 2.支持查询筛选,模糊查询 3.点击历史记录跳转APP历史记录详情页 ...

  4. Webpack中Loader和Plugin的区别?编写Loader,Plugin的思路?

    一.区别 前面两节我们有提到Loader与Plugin对应的概念,先来回顾下 loader 是文件加载器,能够加载资源文件,并对这些文件进行一些处理,诸如编译.压缩等,最终一起打包到指定的文件中 pl ...

  5. 当服务器间通讯出现No route to host(Host unreachable)

    服务器间通讯出现No route to host(Host unreachable) 背景:因为某些原因,主机房服务器集体重启,其中部署的系统也需要重启,负责的系统是五台服务器,两台用来作为应用的应用 ...

  6. Oracle ORA-12725 unmatched parentheses in regular expression

    Oracle ORA-12725 unmatched parentheses in regular expression 简单来说就是正则表达式中的括号问题 这种一般就可以锁定使用正则的函数,例如 r ...

  7. 力扣451(java)-根据字符出现频率排序(中等)

    题目: 给定一个字符串 s ,根据字符出现的 频率 对其进行 降序排序 .一个字符出现的 频率 是它出现在字符串中的次数. 返回 已排序的字符串 .如果有多个答案,返回其中任何一个. 示例 1: 输入 ...

  8. 最佳实践|从Producer 到 Consumer,如何有效监控 Kafka

    简介: 对于运维人而言,如何安装维护一套监控系统,或如何进行技术选型,从来不是工作重点.如何借助工具对所需的应用.组件进行监控,发现并解决问题才是重中之重.随着 Prometheus 逐渐成为云原生时 ...

  9. 一文说清linux system load

    ​简介:双十一压测过程中,常见的问题之一就是load 飙高,通常这个时候业务上都有受影响,比如服务rt飙高,比如机器无法登录,比如机器上执行命令hang住等等.本文就来说说,什么是load,load是 ...

  10. GtkSharp 设置窗口背景透明

    本文告诉大家如何在 GTK Sharp 里面设置窗口背景透明 在 GTK 里面设置窗口背景透明十分简单,只需使用如下代码即可 this.AppPaintable = true; var screen ...