Harbor安装(证书)

一.安装前提条件:

硬件

资源 最低 推荐
cpu 2c 4c
内存 4G 8G
硬盘 40G 160G

软件

软件 版本 描述
docker v17.0.6-ce+ 安装参考一键安装Docker
docker compose v1.18.0+
Openssl latest 用于为 Harbor 生成证书和密钥

需要开放端口

资源 最低 推荐
443 HTTPS 网页https访问端口
4443 HTTPS 与 Harbor 的 Docker Content Trust 服务的连接。仅当启用了公证时才需要
80 HTTP 网页访问端口

二.安装配置

1.安装Harbor

1.下载解压

# 下载
wget  https://github.com/goharbor/harbor/releases/download/v2.4.2/harbor-online-installer-v2.4.2.tgz
# 解压到指定目录
tar -zxvf harbor-online-installer-v2.4.2.tgz -C /usr/local/

2.相关文件介绍

# harbor配置文件模板
harbor.yml.tmpl  
# 首次安装需要先执行,会生成docekr-compose.yml文件
# 更新harbor配置文件后也需要执行此文件
prepare 
# 安装启动脚本
install.sh
# 容器启动相关配置文件目录
common

3.修改配置

cd /usr/local/harbor/
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

###==== 修改以下参数

# 访问域名
hostname : my.harbor.com
# 配置https证书路径
certificate: /data/cert/my.harbor.com.crt
private_key: /data/cert/my.harbor.com.key
# 管理员密码
harbor_admin_password: Harbor12345
database:
    # 设置pgsql管理员密码
    password: root123
# 存储路径
data_volume: /data

4.安装

cd /usr/local/harbor/
# 每次修改配置后都先执行此命令
./prepare
# 执行安装脚本
./install.sh

2.配置HTTPS

2.1 生成证书颁发机构证书

1、生成 CA 证书私钥

openssl genrsa -out ca.key 4096

2、生成 CA 证书

openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=hubei/L=wuhan/O=test/OU=test/CN=my.harbor.com" \
 -key ca.key \
 -out ca.crt
2.2 生成服务器证书

证书通常包含一个文件和一个文件

.crt
.key
my.harbor.com.crt
my.harbor.com.key

1.生成私钥

openssl genrsa -out my.harbor.com.key 4096

2.生成证书签名请求 (CSR)

openssl req -sha512 -new \
    -subj "/C=CN/ST=hubei/L=wuhan/O=test/OU=test/CN=my.harbor.com" \
    -key my.harbor.com.key \
    -out my.harbor.com.csr

3.生成 x509 v3扩展文件
无论您使用FQDN还是IP地址连接到Harbor主机,都必须创建此文件,以便可以为您的Harbor主机生成符合主题备用名称(SAN)和x509 v3的证书扩展要求。替换DNS条目以反映您的域

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=my.harbor.com
DNS.2=my.harbor
DNS.3=harbor
EOF

4.使用该v3.ext文件为您的Harbor主机生成证书

openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in my.harbor.com.csr \
    -out my.harbor.com.crt
2.3 提供证书给Harbor和Docker

生成文件后,需要提供给 Harbor 和 Docker,并重新配置 Harbor 使用证书

1.将服务器证书和密钥复制到 Harbor主机证书文件夹中

cp my.harbor.com.crt /data/cert/

cp my.harbor.com.key /data/cert/

2.转换my.harbor.com.crt为my.harbor.com.cert,供Docker使用

Docker守护程序将.crt文件解释为CA证书,并将.cert文件解释为客户端证书

openssl x509 -inform PEM -in my.harbor.com.crt -out my.harbor.com.cert

3.将服务器证书、密钥和 CA 文件复制到 Harbor 主机上的 Docker 证书文件夹中

cp my.harbor.com.cert /etc/docker/certs.d/my.harbor.com/

cp my.harbor.com.key /etc/docker/certs.d/my.harbor.com/

cp ca.crt /etc/docker/certs.d/my.harbor.com/

如果将默认nginx端口443映射到其他端口,请创建文件夹
/etc/docker/certs.d/my.harbor.com:port或/etc/docker/certs.d/harbor_IP:port

4.重新启动Docker Engine

systemctl restart docker
2.4 部署或重新配置Harbor

如果尚未部署 Harbor,需要配置harbor的yml文件中 hostname、https参数
如果已部署Harbor希望配置为HTTPS,执行以下步骤

1.运行 prepare 脚本以启用 HTTPS

./prepare

2.Harbor正在运行,需要先停止并删除现有实例

docker-compose down -v

3.重新启动Harbor

docker-compose up -d
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容