题图摄于金门大桥
开源Registry项目Harbor发布仅2个多月,在GitHub 获得了超过700个星星和160个 forks,社区帮助增加了德、俄和日文界面、Kubernetes部署方式。本文描述Harbor项目的前世今生,包含采访录音、Roadmap和全新界面预览。
不久前 VMware 开源了企业级 Registry 项目 Harbor,这是由我们中国研发中心的 ATC 团队发起,根据广大中国用户的需求而设计的容器镜像管理项目。ATC 全称是 Advanced Technology Center,主要负责云原生领域的技术和产品研发推广工作。
Harbor 发布之后,迅速得到了国内外容器领域的广泛关注,仅仅2个多月的时间,在开源代码网站 GitHub 获得了超过700个点赞的星星和160多个 forks,社区帮助增加了德文、俄文和日文的界面、Kubernetes的部署方式,完善了文档。Harbor 有40%的贡献者来自社区,许多用户给了我们良好的评价和许多建设性的反馈,有的用户还直接帮我们修复代码里面的bug,在此一并感谢。(项目地址:https://github.com/vmware/harbor)
Harbor项目用户接受度增长迅速
那么,我们为什么做这个Registry的项目呢?这主要是结合容器应用的特点、经过深思熟虑的决定。在过去的几年里,以微服务架构为代表的云原生应用风起云涌,容器成为微服务架构的最佳实现。容器技术的核心有两项:一是静态的镜像,是应用构建、发布和运行的基础;二是动态的容器运行时间(Runtime),负责应用运行的状态管理。这一静一动相辅相成,互相配合,涉及到应用的开发和运维的各个方面。笔者在《Docker镜像的核心价值》一文中也指出了镜像的重要地位。
分享UDN社区运营总监白清杰对笔者的采访录音,感谢白总的录制。
容器领域近年一直处在云计算资本的风口浪尖(甚至成了红海),国内涌现了多家以容器技术为主的创业公司(下图),容器生态圈也一日千里的发展。笔者关注了很多容器领域的技术大会、沙龙、meetup 和线上社区,发现用户都在各自想办法来解决相似的镜像管理问题,特别是私有镜像管理的需求很大。社区其实是可以齐心协力去做一个方案,解决这些共性的问题。可是由于利益竞争、开源文化等种种原因,这股合力一直没有形成。因此,我们希望牵个头,发起一个开源项目,汇集社区各方的力量,共同打造由社区维护的镜像管理项目。
国内容器创业公司一览,大多数和我们建立了合作关系
我们首先基于调研情况实现了 Harbor 的原型CRANE,由公司内部研发的团队试用。通过早期的“狗粮”(dogfooding)用户,我们积累了一些实际的需求和反馈,并且做了不少改进。在开源之前,社区的朋友也协助测试了功能,提供了宝贵建议。
Harbor的原型“CRANE”的界面
在代码正式开源之前,还有个很重要的步骤,就是梳理涉及到的第三方代码的 license。搞软件要彼此尊重知识产权(IP),公司里法务部门协助审查了 Harbor 引用到其他开源项目的 license。我们获得经验是:假如没有必要,最好不要使用第三方的软件包,以避免潜在的 license 问题。换位思考,如果我们开源一个项目,尽量要使用宽松的软件许可,以扩大项目的受众范围。
Harbor的新UI,可在github的issue中浏览和反馈意见