Harbor企业级私有Docker镜像仓库搭建与更新

2020年6月24日,云原生计算基金会(CNCF)宣布,Harbor 成为第 11 个毕业的项目。

一、什么是Harbor

Harbor 源于 2014 年 VMware中国研发中心云原生实验室的一个内部项目,旨在为容器的开发人员解决镜像管理的问题。随着 Kubernetes 和容器技术的流行,该项目于 2016 年开源,2018 年 7 月捐赠给 CNCF,在同年 11 月被正式接受为孵化项目,并在云原生技术路线与生态中演进。

2020年5月 Harbor 2.0 正式发布,增加了对 OCI 制品的支持,能够存储大量云原生制品,例如容器镜像、Helm Chart、CNAB、OPA 和 Singularity 等等。开发人员可依照 OCI 规范,通过 OCI 索引和 OCI 制品功能开拓更广泛的应用场景,包括策略、远程复制和基于角色的访问控制等。

同时web UI上增加充满黑科技感的黑色主题。

二、安装Harbor

安装harbor可以直接用docker的方式,也可以选择用kubernetes。本文选注意介绍的是docker的方式。kubernetes采用的helm的方式安装起来也非常简单

2.1 docker-compose方式安装

标准的安装步骤包括6部分:

  1. 检查安装主机的依赖
  2. 下载安装程序(在线或离线方式)
  3. https相关配置
  4. 配置harbor.yml文件
  5. 启用https TLS证书
  6. 执行安装脚本

下面是具体的步骤:

  1. 检查安装主机的依赖

硬件

Resource Minimum Recommended
CPU 2 CPU 4 CPU
Mem 4 GB 8 GB
Disk 40 GB 160 GB

软件要求

Software Version Description
Docker engine Version 17.06.0-ce+ or higher 需要预先安装](https://docs.docker.com/engine/installation/)
Docker Compose Version 1.18.0 or higher 具体安装参见 Docker Compose documentation
Openssl 最好是最新版本,减少不必要安全漏洞 用于证书

网络端口

Harbor requires that the following ports be open on the target host.

Port Protocol Description
443 HTTPS Harbor的web ui以及api的访问端口,可以修改
4443 HTTPS Only required if Notary is enabled. You can change this port in the configuration file.
80 HTTP Harbor的web ui以及api的访问端口,可以修改,和443端口二选一即可,不过一般最好是https 443端口

2.下载安装程序(在线或离线方式)

  • Online installer: 在线方式其实就是docker hub中进行docker image的下载,建议采用这种方式,因为可以通过镜像加速解决离线下载慢的问题。

  • Offline installer: 如果服务器没有外网访问能力,只能采用离线的方式,离线的方式安装包需要从github中下载,安装包在500多M左右,在国内下载速度还比较慢 。

  1. https相关配置
    https证书建议从阿里云,https://freessl.cn/等网站去生成一个,不建议采用自签名的证书,不但麻烦还不被浏览器认可。这里假设你已经拥有了一个ssl 证书,并且下载好了。

  2. 配置harbor.yml文件
    主要是修改 host,https port,ca证书地址,harbor_admin_password等几个参数

  3. 启用https TLS证书

  4. 执行安装脚本
    harbo的安装脚本支持一些安装选项,主要是不同组件的选用。

  • Harbor with Notary
  • Harbor with Clair
  • Harbor with Chart Repository Service
  • Harbor with two or all three of Notary, Clair, and Chart Repository Service
    默认情况下,不包含 Notary, Clair, or Chart Repository Service
    命令如下:

sudo ./install.sh

你可能感兴趣的:(Harbor企业级私有Docker镜像仓库搭建与更新)