今天,红帽推出了 Quay 项目的开源项目,该项目是代表 Red Hat Quay 和 Quay.io 的代码的上游项目。根据 Red Hat 的开源承诺,Project Quay 是新开源的,代表了自 2013 年以来 CoreOS(现在是 Red Hat)围绕 Quay 容器注册表进行的多年工作的高潮。

Quay 是市场上第一个私人托管注册中心,于 2013 年底启动。由于专注于开发人员的经验和高度响应的支持以及 image 回滚和零停机垃圾收集等功能,它吸引了越来越多的用户和兴趣。Quay 于 2014 年被 CoreOS 收购,以加强其通过自动化运营保护互联网的使命,而在 CoreOS 收购之后不久,Quay 的本地产品发布了。该产品现在称为 Red Hat Quay

Quay 团队还自 2015 年以来创建并整合了 Clair 开源容器安全扫描项目,如今包括 Red Hat 以及社区维护者和用户。

从今天开始,随着 Quay 和 Clair 代码库现在作为 Project Quay 开源,我们相信这些项目将使云原生社区受益,从而降低围绕容器创新的障碍,从而帮助使容器更加安全和可访问。开源是 Red Hat 所信奉的核心部分,我们为达到为开放社区准备项目的时刻而感到自豪。如前所述,开源软件激发了开发人员的精力。并行工作的团队可以超越上一代的大型开发层次结构。我们认为,与开源社区上游合作是一项重要的创新策略。

今天发布的 Project Quay 代表了 Quay 应用程序代码库的开源,包括构建,部署和运行完全开源的 Quay 发行版所需的工具。

Quay 和 Clair 一直以来都是紧密配合的项目。Clair 启用了 Red Hat Quay 中的容器安全扫描功能,该功能可帮助用户识别其容器注册表中的已知漏洞。Clair 是在开源社区中创建的,旨在通过供应商和用户之间的开放工作来提高安全性。考虑到不断增长的安全需求,Clair 也直接内置在 Project Quay 中。

Project Quay 包含一系列在 Apache 2.0 和其他开源许可证下许可的开源软件。它遵循一个带有维护者委员会的开源治理模型。

对于 Red Hat Quay 和 Quay.io 用户,通过开放社区,Red Hat Quay 和 Quay.io 用户可以从上游代码的协作中受益。

展望未来,Quay.io 和 Red Hat Quay 将在 Quay 项目中完成工作,而 Quay.io 将在上游项目中构建并部署。反过来,根据我们的发布流程,红帽码头将继续由红帽进行管理,构建和发布。

Quay 的功能展示,请参考我之前发表的一篇文章。

01

Quay 从哪来到哪去?

Quay 从哪来?

2014 年 8,风头正劲的 coreos 公司宣布收购私有 Docker 仓库服务商 Quay.io。Quay.io 是一个用于托管私有 Docker 仓库的服务。很多 Docker 的开发者一般会使用公有的 Docker 仓库或者构建自己的私有仓库。而 Quay.io 主要是帮助开发者构建私有仓库。而 CoreOS 的收费的受管的 Linux 服务客户将可以使用基于 Quay.io 提供的 CoreOS Enterprise Registry 服务。

2018 年 1 月 30 日,RedHat 宣布已经签署了收购 CoreOS。quay 随之被收入囊中。

Quay 到哪去?

在过去几年中,许多红帽 OpenShift 客户已经把 CoreOS Quay 用作企业注册表(registry)解决方案。那些需要更全面的企业级注册表功能的客户,现在可以选择从红帽获取 Quay Enterprise(Quay 企业版)和 Quay.io。Quay 包括自动化的地理复制、与 Clair 相集成的安全性扫描,以及用于查看历史记录的图像时间机器,而且能够执行回滚和自动修剪(pruning)等。Quay 现已被添加到红帽产品组合中,既可以作为企业级软件解决方案来提供,也可以作为 Quay.io 中的托管服务来提供。预计在未来的版本中,Quay 将会有更多增强功能,并持续与 OpenShift 相集成。

也就是说,最终 quay 会以 pod 的方式运行到 Openshift 上。就像以后的 istio 一样,成为 Openshift 的一个组件(具体收费方式目前未知)。

02

Quay 目前的部署方式和功能

Quay 有基于 cloud 的方式和基于数据中心内部的方式,前者类似 docker hub,后者类似 harbor 数据中心内部的安装方式:

基于云的方式:


基于企业数据中心的 Quay 如如下特性:

  1. 镜像仓库高可用和灾备:数据中心内部 HA,在数据中心之间同步镜像
  2. 支持 CI:当开发人员提交代码以后,自动触发代码构建。
  3. 支持安全扫描:自动扫描容器镜像,以查找已知的安全漏洞。
  4. 企业认证:集成到现有的身份基础架构:LDAP,Keystone 等
  5. 灵活的存储后端:将容器存储在 Amazon S3,OpenStack Swift,Google 云端存储中,或直接存储到磁盘。
  6. 记录和审计 审计对于 CI 管道中的所有内容都至关重要。跟踪通过 API 和 UI 执行的操作。



目前红帽 Openshift 有集成镜像仓库 docker registry,而 Quay 刚好可以为 Openshift 提供数据中心内部公共镜像仓库。后续 Quay 会作为一个组件,以 pod 方式运行在 Openshift 上。

如果本地部署 quay,需要做如下步骤:

  • A supported database (MySQL, Postgres)
  • A Redis instance (for real-time events)
  • The Quay Enterprise image

03

基本操作展现

本地部署或者使用云上的 quay.io 服务,账户登陆以后,首先常见 repository:


可以指定是容器镜像仓库还是应用代码仓库,并且可以指定私有还是共有的:


选择谁可以使用这个 repository:


创建成功,目前是空的:


查看 tag,也是空的:



查看代码构建:


查看日志:


可以进行权限配置:


04

功能展现:源码变更触发自动构建

有一个 web 应用,原始的页面是:


首先配置 webhook:


修改源码:


提交变更:


触发 quay 中的代码自动构建:


过一会,构建成功:


给新的镜像分配 tag:



修改应用的 dc,使用新的 image,触发应用重新构建:



重新构建完毕后,页面变成:


05

功能展现:容器镜像扫描

quay 的镜像安全扫描基于 clair:


Clair 项目是一个开源项目,使 Quay Security Scanner 能够检测 Quay Enterprise 中所有图像的漏洞,并在发现这些问题时通知开发人员。

查看 quay 的镜像扫描结果:



查看漏洞链接的 CVE:


06

功能展现:HA 与异地复制

Quay 配置 HA 的前提是:

  • PostgresMySQL数据库,具有自动备份和故障转移功能。
  • 高可用性分布式存储引擎,如 Amazon S3,Google Cloud Storage,Ceph RADOS 或 Swift。不建议在 HA 设置中使用本地存储和 NFS。
  • 运行在中型机器上的 Redis服务器。Redis不需要故障转移或备份。
  • 支持 TCP 直通的负载均衡器。
  • 至少有三台适用于集群的中型机器。

配置异地复制后,容器先 push 到本地或者位置最近的 repo。然后 image 将在后台被复制到其他 repo。复制的规则是可配置的。


如果您想系统性理解 OpenShift,现在也是一个非常好的出手时机,由红帽和 AWS 的技术专家合著的《Openshift 在企业云中的实践》正在热卖,点击购买:

云原生是一种信仰 

红帽宣布发布企业容器仓库开源项目 Quay相关推荐

  1. 微软发布Azure Pipelines,开源项目可无限制使用CI/CD

    微软发布了Azure Pipelines,他们新的CI/CD服务,是Azure DevOps产品的一部分.Azure Pipelines可用于构建.测试和部署工作负载,并可以让各种语言.项目类型和平台 ...

  2. 九章云极发布YLearn因果学习开源项目;字节跳动大量招聘芯片工程师;苹果被俄法院罚款约21.6万元 | 每日大事件...

    数据智能产业创新服务媒体 --聚焦数智 · 改变商业 01.九章云极DataCanvas公司开源发布YLearn因果学习开源项目 7月12日,九章云极DataCanvas公司发布YLearn因果学习开 ...

  3. 如何在github发布个人网站或开源项目-手把手教您制作并发布个人网站或主页(二)

    (首先感谢留美博士czxttkl的技术支持maider.blog.sohu.com) 作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户.随着越来越多的应用程序转移到了云上,Gi ...

  4. 权威发布丨2021 中国开源先锋 33 人之心尖上的开源人物

    | 作者:SegmentFault | 编辑:王玥敏 # 前言 "开源"是 2021 中国技术发展的年度热词,越来越多人关注开源.贡献开源. 在本土,"开源"作 ...

  5. 张海宁:首个 CNCF 中国开源项目 Harbor 的修炼之道

    「WeOpen Talk」是腾源会全新上线的「对话开源」内容专栏,每周为读者呈现一期与尖峰开源人物的精彩对话内容.在「WeOpen Talk」栏目中,我们将深刻诠释开源先锋者们的开源精神.开源理念及其 ...

  6. 腾讯企业容器云平台技术解析

    GaiaStack 是腾讯基于 Kubernetes 打造的容器私有云平台.它服务于腾讯内部各个 BG 业务,如广告.支付.游戏等.同时也为腾讯云的各行业客户私有云部署提供支持.本文将从自动化运维体系 ...

  7. 腾讯作为ApacheCon2019主会唯一受邀中国企业亮相谈开源

    近日,一年一度的国际开源顶会ApacheCon 2019在美国举办,正值 Apache 软件基金会(Apache Software Foundation,ASF)成立 20 周年之际,腾讯作为本次大会 ...

  8. 中国开源项目迈向全球化!

    整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 中国开源正在登上全球化舞台,成为一股不容忽视的中坚力量.在国际开源领域,ant-design.vue-element-admin 等热门开 ...

  9. 直接拿来用!最火的iOS开源项目

    摘要:iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x到如今的iOS 7,有的项目已被弃用,有的则继续发扬光大,新项目更是层出不穷.在本文中,我们将继续为大家介绍20个在GitHub ...

最新文章

  1. linux守护进程的创建
  2. PHPExcel 出现open_basedir restriction in effect的解决办法
  3. IBatis.Net学习笔记四--数据库的缓存模式
  4. 全局稳定性收敛平衡点为0吗_「模型解读」GoogLeNet中的inception结构,你看懂了吗...
  5. Java程序员从笨鸟到菜鸟之(四十四)细谈struts2(七)数据类型转换详解
  6. 如何利用手持终端信息化仓储管理呢
  7. 关于ISA2006引起网速慢或间歇性断网的问题的解决方法
  8. Java自动化测试框架-08 - TestNG之并行性和超时篇 (详细教程)
  9. 程序员拯救乐坛?OpenAI 用“逆天”GPT2.0 搞了个 AI 音乐生成器
  10. 南京师范大学与南京林业大学计算机,这8所高校“同宗同源”但不同命!有些是“985”,有些却是“双非”?...
  11. Wireshark实战分析之DHCP协议(二)
  12. Nacos配置管理基础应用
  13. django1.6 mysql_如何在Django1.6结合Python3.4版本中使用MySql
  14. SpringBoot整合Mybatis与JDBC连接池
  15. java编辑双层pdf文件,双层PDF制作系统
  16. 【JS】使用jQuery制作图片手风琴效果
  17. latex 表格 调整单元格文本垂直居中
  18. 计算机网络与无线通信系统学习1:计算机通信网概述
  19. 机械硬盘速度测试软件用哪个,比机械硬盘快多少? SSD测量了常用软件和应用速度...
  20. 【学习笔记】大数据搜索与挖掘

热门文章

  1. bzoj1001狼抓兔子
  2. Qt中解除按键在聚焦时键盘空格键可以控制
  3. 【板栗糖GIS】地理坐标、投影坐标、地图投影的关系
  4. linux 中 chmod设置文件权限的命令
  5. v5.51总结-开发人员怎么测试
  6. 什么是量化交易接口?跟量化平台是一个意思吗?
  7. java8新特性之Lambda表达式入门
  8. Vue3源码解析之入门
  9. 如何在微信刷出宝马广告
  10. POI操作Word设置表格在字体加粗【XWPFTableCell设置字体】Java操作Word调样式