60

Quay:Openshift的屠龙宝刀!

 6 years ago
source link: http://www.10tiao.com/html/360/201806/2663487906/1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client


一、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的一个组件(具体收费方式目前未知)。


二、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


三、基本操作展现


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


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

选择谁可以使用这个repository:


创建成功,目前是空的:

查看tag,也是空的:

查看代码构建,无:

查看日志:

可以进行权限配置:







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



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


首先配置webhook:

修改源码:




提交变更:


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


过一会,构建成功:


给新的镜像分配tag:


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



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

    



五、功能展现:容器镜像扫描

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

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


查看quay的镜像扫描结果:

查看漏洞链接的CVE



六、功能展现:HA与异地复制


Quay配置HA的前提是:

  • Postgres或MySQL数据库,具有自动备份和故障转移功能。 

  • 高可用性分布式存储引擎,如Amazon S3,Google Cloud Storage,Ceph RADOS或Swift。 不建议在HA设置中使用本地存储和NFS。

  • 运行在中型机器上的Redis服务器。 Redis不需要故障转移或备份。

  • 支持TCP直通的负载均衡器。

  • 至少有三台适用于集群的中型机器。


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



魏新宇

  • "大魏分享"运营者、红帽资深解决方案架构师

  • 专注开源云计算、容器及自动化运维在金融行业的推广

  • 拥有MBA、ITIL V3、Cobit5、C-STAR、TOGAF9.1(鉴定级)等管理认证。

  • 拥有红帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、AIX、HPUX等技术认证。



Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK