開(kāi)源Registry項目Harbor發(fā)布僅4個(gè)多月,在GitHub 獲得了超過(guò)800個(gè)星星和200個(gè) forks,社區幫助增加了德、俄和日文界面、Kubernetes部署方式。本文描述Harbor項目的前世今生,包含Roadmap和全新界面。
不久前 VMware 開(kāi)源了企業(yè)級 Registry 項目 Harbor,這是由我們中國研發(fā)中心的 ATC 團隊發(fā)起,根據廣大中國用戶(hù)的需求而設計的容器鏡像管理項目。ATC 全稱(chēng)是 Advanced Technology Center,主要負責云原生領(lǐng)域的技術(shù)和產(chǎn)品研發(fā)推廣工作。
Harbor 發(fā)布之后,迅速得到了國內外容器領(lǐng)域的廣泛關(guān)注,僅僅4個(gè)多月的時(shí)間,在開(kāi)源代碼網(wǎng)站 GitHub 獲得了超過(guò)800個(gè)點(diǎn)贊的星星和200多個(gè) forks,社區幫助增加了德文、俄文和日文的界面、Kubernetes的部署方式,完善了文檔。Harbor 有40%的貢獻者來(lái)自社區,許多用戶(hù)給了我們良好的評價(jià)和許多建設性的反饋,有的用戶(hù)還直接幫我們修復代碼里面的bug,在此一并感謝。

Harbor項目用戶(hù)接受度增長(cháng)迅速
那么,我們?yōu)槭裁醋鲞@個(gè)Registry的項目呢?這主要是結合容器應用的特點(diǎn)、經(jīng)過(guò)深思熟慮的決定。在過(guò)去的幾年里,以微服務(wù)架構為代表的云原生應用風(fēng)起云涌,容器成為微服務(wù)架構的最佳實(shí)現。容器技術(shù)的核心有兩項:一是靜態(tài)的鏡像,是應用構建、發(fā)布和運行的基礎;二是動(dòng)態(tài)的容器運行時(shí)間(Runtime),負責應用運行的狀態(tài)管理。這一靜一動(dòng)相輔相成,互相配合,涉及到應用的開(kāi)發(fā)和運維的各個(gè)方面。筆者在《Docker鏡像的核心價(jià)值》一文中也指出了鏡像的重要地位。
容器領(lǐng)域近年一直處在云計算資本的風(fēng)口浪尖(甚至成了紅海),國內涌現了多家以容器技術(shù)為主的創(chuàng )業(yè)公司(下圖),容器生態(tài)圈也一日千里的發(fā)展。筆者關(guān)注了很多容器領(lǐng)域的技術(shù)大會(huì )、沙龍、meetup 和線(xiàn)上社區,發(fā)現用戶(hù)都在各自想辦法來(lái)解決相似的鏡像管理問(wèn)題,特別是私有鏡像管理的需求很大。社區其實(shí)是可以齊心協(xié)力去做一個(gè)方案,解決這些共性的問(wèn)題。可是由于利益競爭、開(kāi)源文化等種種原因,這股合力一直沒(méi)有形成。因此,我們希望牽個(gè)頭,發(fā)起一個(gè)開(kāi)源項目,匯集社區各方的力量,共同打造由社區維護的鏡像管理項目。

國內容器創(chuàng )業(yè)公司一覽,大多數和我們建立了合作關(guān)系
我們首先基于調研情況實(shí)現了 Harbor 的原型CRANE,由公司內部研發(fā)的團隊試用。通過(guò)早期的“狗糧”(dogfooding)用戶(hù),我們積累了一些實(shí)際的需求和反饋,并且做了不少改進(jìn)。在開(kāi)源之前,社區的朋友也協(xié)助測試了功能,提供了寶貴建議。

Harbor的原型“CRANE”的界面
在代碼正式開(kāi)源之前,還有個(gè)很重要的步驟,就是梳理涉及到的第三方代碼的 license。搞軟件要彼此尊重知識產(chǎn)權(IP),公司里法務(wù)部門(mén)協(xié)助審查了 Harbor 引用到其他開(kāi)源項目的 license。我們獲得經(jīng)驗是:假如沒(méi)有必要,最好不要使用第三方的軟件包,以避免潛在的 license 問(wèn)題。換位思考,如果我們開(kāi)源一個(gè)項目,盡量要使用寬松的軟件許可,以擴大項目的受眾范圍。

Harbor的新UI
Harbor 的 roadmap 中,Q2已經(jīng)推出鏡像多實(shí)例的復制功能,同時(shí),還設計了全新的用戶(hù)UI。Q3將計劃推出HA等更多功能,希望社區的朋友們多多提供建議。我們的目標是“從用戶(hù)中來(lái),到用戶(hù)中去”,和用戶(hù)共同打造優(yōu)秀的開(kāi)源項目。反饋意見(jiàn)可在 Github 的 roadmap 和 issue 中,也歡迎分享 Harbor 使用心得和經(jīng)驗的文章投稿。