Kubernetes之Harbor仓库

Kuternetes 企业级 Docker 私有仓库 Harbor 工具

当然,我们这里也可以使用 Docker 官方提供的 registry 镜像!

$ docker run -d -p 5000:5000 --restart=always --name registry registry:2
Kuternetes私有仓库Harbor

1. Harbor 基本组件

企业级环境中基于 Harbor 搭建自己的安全认证仓库

Docker 容器应用的开发和运行离不开可靠的镜像管理,虽然 Docker 官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的 Registry 也是非常必要的。Harbor 是由 VMware 公司开源的企业级的 Docker Registry 管理项目,它包括权限管理(RBAC)、AD/LDAP集成、日志审核、管理界面、自我注册、镜像复制和中文支持等功能,在新版本中还添加了Helm仓库托管的支持。

Kuternetes私有仓库Harbor

Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 Docker Compose 来对它进行部署。用于部署 Harbor 的 Docker Compose 模板位于 /Deployer/docker-compose.yml 中,其由 5 个容器组成,这几个容器通过 Docker link 的形式连接在一起,在容器之间通过容器名字互相访问。对终端用户而言,只需要暴露 Proxy(即Nginx) 的服务端口即可。

  • Proxy
    • 由Nginx服务器构成的反向代理
  • Registry
    • 由Docker官方的开源官方的开源Registry镜像构成的容器实例
  • UI
    • 即架构中的core services服务,构成此容器的代码是Harbor项目的主体
  • MySQL
    • 由官方MySQL镜像构成的数据库容器
  • Log
    • 运行着rsyslogd的容器,通过log-driver的形式收集其他容器的日志