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