Harbor(https://goharbor.io)是一個企業級的容器鏡像倉庫管理系統,用於爲企業級用戶創建私有的容器鏡像庫,一方面能夠對內部安裝的網絡傳輸加速,另外一方面提供本身特有的版本更好地保證可用性和安全性。Harbor原來由VMWare China開發,所有開源。git
Harbor最近發佈了1.6版本,將會帶來一些很是重要的變化。github
該版本開始支持Helm Chart的管理,不過這個用Github原本就能夠作的很好,只不過這裏採用了圖形界面,仍是很是方便普通的使用者,尤爲是中小企業的準專業人員。redis
Har將來將會移交到CNCF管理,成爲雲原生基礎設施的一部分。目前已經接收CNCF的一些贊助資源,而且項目架構和代碼都已經開始了調整。這將是雲原生社區的一個重大利好,補充了雲原生架構中除了Kubernetes容器編排管理外的重要部分。docker
在Harbor 1.6版本中,Helm Chart項目已經改變,移到了 https://github.com/goharbor/harbor-helm 子項目中。目前,開發調整還比較頻繁,可能出現使用上的問題,須要關注項目發展、及時更新代碼。出現的問題能夠去提交issue,幫助項目完善。api
# 界面服務 docker pull goharbor/harbor-ui:dev docker pull goharbor/harbor-adminserver:dev docker pull goharbor/harbor-portal:dev docker pull goharbor/harbor-jobservice:dev # 受權管理 docker pull goharbor/clair-photon:dev docker pull goharbor/notary-server-photon:dev docker pull goharbor/notary-signer-photon:dev # 鏡像服務 docker pull goharbor/registry-photon:dev docker pull goharbor/harbor-registryctl:dev docker pull goharbor/chartmuseum-photon:dev # 鏡像存儲 docker pull goharbor/harbor-db:dev docker pull docker.io/bitnami/redis:4.0.9
# 複製部署代碼。 git clone https://github.com/goharbor/harbor-helm # 選擇版本。 cd harbor-helm git checkout master # 能夠進去修改values.yaml文件裏面的參數。 # 參數參考:https://github.com/goharbor/harbor-helm helm dependency update # 安裝到harbor命名空間下面。 helm install --namespace harbor --name harbor . # !若是錯誤或者是不須要了,進行刪除。 # helm delete --purge harbor
原來的一些部署方法可能再也不適用,僅供參考:瀏覽器
Harbor 1.6 已經支持helm 私服倉庫了,仍是比較方便的。安全
我採用上面的方法部署,遇到一些小坑。服務器
若是上面的方法部署不成功,又着急使用的話,Harbor也支持常規部署,已經有了長時間的考驗。網絡
該方式將Harbor安裝在Docker環境下,不使用Kubernetes進行管理。架構
https_proxy=192.168.199.99:9999 wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-online-installer-v1.6.0.tgz
harbor.cfg 文件
- 目前主要配置hostname,使用本身服務器的ip便可。
- 更多的參數設置,參見 https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md
sudo ./install.sh --with-clair --with-chartmuseum