安装背景
接下来描述安装harbor2.0.1当前的最新版本,并配置https方式访问,记录以备忘
介绍Harbor
还记得Docker Registry么?它是Docker官方提供的镜像仓库,简单易用,一键就可以部署、使用。
虽然看起来不错,但是Registry有些问题需要解决:
- 没有图形界面
- 没有用户权限控制
- 看不到镜像操作记录
- 仓库内镜像管理难度大,容易造成空间浪费
Harbor支持如下功能: - 基于角色的访问控制:用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
- 镜像复制:镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
- 图形化用户界面:用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。
AD/LDAP:-Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。 - 审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
- 国际化:已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。
- RESTful API: 提供给管理员对于Harbor更多的操控, 使得与其它管理软件集成变得更容易。
- 部署简单:提供在线和离线两种安装工具, 也可以安装到vSphere平台(OVA方式)虚拟设备。
安装Harbor
1. 整体步骤
- 安装docker和docker-compose
- 下载harbor离线包,采用离线式安装
- 配置SSL证书
- 配置Harbor的YML文件
- 启动并运行Harbor
官方文档:https://goharbor.io/docs/2.0.0/
2.安装Docker、Docker-compose
2.1 安装docker并配置国内源
参见:Centos 8上安装Docker配置国内镜像源
注意这两个命令
systemctl daemon-reload //重载配置
systemctl restart docker //重启docker
2.2 安装docker-compose
参见:CentOS 8.1安装docker-compose 1.26.2
3.下载Harbor离线包
Github地址: https://github.com/goharbor/harbor/releases
直接下载最新的2.0.1的版本。
harbor-offline-installer-v2.0.1.tgz
下载到/usr/local/src目录后,执行如下命令进行解压
$ cd /usr/local/src
$ tar zxf harbor-offline-installer-v2.0.1.tgz -C /usr/local/
$ cd /usr/local/harbor/
4.配置SSL证书
4.1 自定义证书
官方文档:https://goharbor.io/docs/2.0.0/install-config/configure-https/
- 生成私钥
openssl genrsa -out ca.key 4096
- 生成CA证书
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
-key ca.key \
-out ca.crt
这里不再重复拷贝脚本,再看一遍官方文档
4.2 域名证书
注意两个目录下的域名证书文件
mkdir /data/cert/
上传证书至上述目录,ll后的样例
-rw-r--r-- 1 root root 1968 Jul 24 15:05 xx.mate.vip.cert
-rw-r--r-- 1 root root 1968 Jul 24 09:21 xx.mate.vip.crt
-rw-r--r-- 1 root root 1675 Jul 24 09:21 xx.mate.vip.key
-rw-r--r-- 1 root root 3647 Jul 24 15:00 xx.mate.vip.pem
其中.cert的由crt通过如下命令生成
openssl x509 -inform PEM -in xx.mate.vip.crt -out xx.mate.vip.cert
以下是样例存放证书:
/etc/docker/certs.d/
└── xx.mate.vip
├── xx.mate.vip.cert <-- 服务端CA证书
├── xx.mate.vip.key <-- 服务端私钥证书
└── ca.crt <-- 机构颂发证书
5.配置Harbor的YML文件
执行命令,进入harbor目录
cd /usr/local/harbor/
拷贝配置文件
cp harbor.yml.tmpl harbor.yml
编辑配置文件
vi harbor.yml
配置样例:
hostname: xx.mate.vip
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 8080
# https related config
https:
# https port for harbor, default is 443
port: 1443
# The path of cert and key files for nginx
certificate: /data/cert/xx.mate.vip.pem
private_key: /data/cert/xx.mate.vip.key
修改hostname、http、https相关的参数
6.启动并运行harbor
操作指令
cd /usr/local/harbor/
./prepare
./install.sh
如无意外,就可以正常使用了