不久前 VMware 开源了企业级 Registry 项目 Harbor,这是由咱们中国研发中心的 ATC 团队发起,根据广大中国用户的需求而设计的容器镜像管理项目。ATC 全称是 Advanced Technology Center,主要负责云原生领域的技术和产品研发推广工做。git
Harbor 发布以后,迅速获得了国内外容器领域的普遍关注,仅仅2个多月的时间,在开源代码网站 GitHub 得到了超过700个点赞的星星和160多个 forks,社区帮助增长了德文、俄文和日文的界面、Kubernetes的部署方式,完善了文档。Harbor 有40%的贡献者来自社区,许多用户给了咱们良好的评价和许多建设性的反馈,有的用户还直接帮咱们修复代码里面的bug,在此一并感谢。(项目地址:https://github.com/vmware/harbor)github
Harbor项目用户接受度增加迅速微信
那么,咱们为何作这个Registry的项目呢?这主要是结合容器应用的特色、通过深思熟虑的决定。在过去的几年里,以微服务架构为表明的云原生应用风起云涌,容器成为微服务架构的最佳实现。容器技术的核心有两项:一是静态的镜像,是应用构建、发布和运行的基础;二是动态的容器运行时间(Runtime),负责应用运行的状态管理。这一静一动相辅相成,互相配合,涉及到应用的开发和运维的各个方面。架构
容器领域近年一直处在云计算资本的风口浪尖(甚至成了红海),国内涌现了多家以容器技术为主的创业公司(下图),容器生态圈也一日千里的发展。笔者关注了不少容器领域的技术大会、沙龙、meetup 和线上社区,发现用户都在各自想办法来解决类似的镜像管理问题,特别是私有镜像管理的需求很大。社区实际上是能够齐心合力去作一个方案,解决这些共性的问题。但是因为利益竞争、开源文化等种种缘由,这股协力一直没有造成。所以,咱们但愿牵个头,发起一个开源项目,聚集社区各方的力量,共同打造由社区维护的镜像管理项目。运维
国内容器创业公司一览,大多数和咱们创建了合做关系微服务
咱们首先基于调研状况实现了 Harbor 的原型CRANE,由公司内部研发的团队试用。经过早期的“狗粮”(dogfooding)用户,咱们积累了一些实际的需求和反馈,而且作了很多改进。在开源以前,社区的朋友也协助测试了功能,提供了宝贵建议。测试
Harbor的原型“CRANE”的界面网站
在代码正式开源以前,还有个很重要的步骤,就是梳理涉及到的第三方代码的 license。搞软件要彼此尊重知识产权(IP),公司里法务部门协助审查了 Harbor 引用到其余开源项目的 license。咱们得到经验是:假如没有必要,最好不要使用第三方的软件包,以免潜在的 license 问题。换位思考,若是咱们开源一个项目,尽可能要使用宽松的软件许可,以扩大项目的受众范围。云计算
Harbor的新UI,可在github的issue中浏览和反馈意见spa
Harbor 的 roadmap 中,Q2计划推出镜像多实例的复制功能,同时,还设计了全新的用户UI。更多功能需求,但愿社区的朋友们多多提供建议。咱们的目标是“从用户中来,到用户中去”,和用户共同打造优秀的开源项目。反馈意见可在 Github 的 roadmap 和 issue 中,也欢迎分享 Harbor 使用心得和经验的文章投稿。微信用户可申请加入“Harbor开源项目群”,先关注公众号“亨利笔记”,在后台发送"入群"信息便可。
巨轮已经起航,请和咱们一块儿奔向远方的Harbor!