使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力
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镜像管理能力的更多相关文章
- 配置kuernetes集群pod拉取私有镜像仓库中的镜像
目录 1 背景说明 2 实现方法 3 具体实现 配置镜像仓库项目为公开类型(任何人可以访问) 配置docker-registry类型的secret(pod使用secret获取镜像认证) 通过账户名密码 ...
- 003-docker命令-远程镜像仓库命令,本地镜像管理命令
1.远程镜像仓库 docker login/logout:查看 [不常用] docker push:查看 [不常用] docker search:从Docker Hub查找镜像 语法:docker s ...
- Kubernetes从私有镜像仓库中拉取镜像
当我们尝试从私有仓库中拉取镜像时,可能会收到这样提示:requested access to the resource is denied Error response from daemon: pu ...
- Portainer安装,配置自定义镜像仓库拉取镜像
Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台 ...
- Jfrog Artifactory 创建docker 镜像仓库以及 push 镜像到 该仓库.
1. 安装aitifactory 以及 启动 使用30天有效期激活 不在阐述. 2. 登录artifactory username:admin password:password 3. 创建 仓库 在 ...
- Docker: 企业级镜像仓库Harbor的使用
上一节,演示了Harbor的安装部署 这次我们来讲解 Harbor的使用. 我们需要了解到: 1. 如何推镜像到镜像仓库 2. 如何从镜像仓库拉取镜像 3. 如何运行从私有仓库拉取的镜像 # 查看 h ...
- docker 系列 - 企业级私有镜像仓库Harbor部署(转载)
本文转载自 搜云库 的文章 https://www.jianshu.com/p/7d76850de03f , 感谢作者 3.png 上一篇文章搭建了一个具有基础功能,权限认证.TLS 的私有仓库, ...
- 企业级Docker镜像仓库Harbor部署与使用
yum install docker 官网地址:https://docs.docker.com/compose/install/ 运行此命令以下载Docker Compose的当前稳定版本 1 sud ...
- DOCKER学习_016:Docker镜像仓库和HARBOR的简单安装和管理
一 镜像仓库介绍 1.1 简介 镜像仓库用于存放 Docker镜像 Docker registry提供镜像仓库服务 一个 Docker registry可以包含多个镜像仓库 仓库分为公共镜像仓库与私有 ...
- 配置 Containerd 在 harbor 私有仓库拉取镜像
官方文档地址:https://github.com/containerd/cri/blob/master/docs/registry.md 严格来说,这个具体可分为两部分 1.在k8s中使用Conta ...
随机推荐
- 前端vue+elementUI如何实现记住密码功能
我们这回使用纯前端保存密码 既然是记住密码,前端也就是使用cookie保存,访问时用cookie读取 先来了解下cookie的基本使用吧 Cookie 所有的cookie信息都在document.co ...
- CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户
CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户 2012-02-22 17:18:15| 分类: rhel_vsftp|举报|字号 订阅 centos 5.5编译安装vsftpd- ...
- Python阿里云消息推送调用API
很多公司测试APP推送时候,应该也是很头疼:推送环境:测试.正式,稍不注意就把测试的push到正式上,导致所有用户都收到 例子很多: 其实阿里.极光都有推送Api,直接调用API就ok,特别是有的公司 ...
- Java实现控制台购书系统
"感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!" 代码 im ...
- Flink 在唯品会的实践
简介: Flink 在唯品会的容器化实践应用以及产品化经验. 唯品会自 2017 年开始基于 k8s 深入打造高性能.稳定.可靠.易用的实时计算平台,支持唯品会内部业务在平时以及大促的平稳运行.现平台 ...
- 项目实战总结以及接入U-APM
简介: 导致 App 性能低下的原因有很多,除去设备硬件和软件的外部因素,其中大部分是开发者错误地使用线.系统函数.编程范式.数据结构等导致的.即便是较有经验的程序员,也很难在开发时就能避免所有导致 ...
- 剪贴板被占用导致应用使用剪贴板拷贝内容失败抛出 COMException 0x800401D0 错误
本文记录某些软件,例如 向日葵远程控制 软件占用剪贴板,导致 WPF 应用使用剪贴板拷贝内容和设置剪贴板时,抛出 System.Runtime.InteropServices.COMException ...
- 迁移 dotnet 6 提示必须将目标平台设置为 Windows 平台
我在迁移一个古老的项目为 .NET 6 框架,但是 VS 提示 error NETSDK1136 如果使用 Windows 窗体或 WPF,或者引用使用 Windows 窗体或 WPF 的项目或包,则 ...
- 07 mapping索引操作
目录 版本 获取健康值 获取所有索引的信息 创建索引 1. 自动推导 2. 自定义 判断索引是否存在 新增字段 新增记录 查询记录 获取mapping信息 删除索引 添加别名 查看别名 索引备份数据 ...
- go-admin 视频教程
https://cloud.189.cn/t/6JJ3uqreqyai (访问码:2xn5) 感谢 熊猫 同学 整理 失效了可以去B站看 https://www.bilibili.com/video/ ...