https harbor提升安全性,部署更加合规
一、配置Harbor证书
1、生成自签名ca和ca证书,subj信息看需求修改
这里的 -subj 参数设置了证书的主题信息,包括国家代码 (C),州或省份 (ST),城市 (L),组织 (O),和常用名 (CN)。有效期设置为 20 年。
# 生成 CA 私钥
openssl genrsa -out ca.key 4096
# 生成自签名 CA 证书
openssl req -x509 -new -nodes -key ca.key -sha256 -days 7300 -out ca.crt \
-subj "/C=CN/ST=Beijing/L=Beijing/O=peekaboo/CN=My Custom CA"
2、生成 Harbor 的私钥和证书签名请求 (CSR)
# 生成私钥
openssl genrsa -out harbor.baga.live.key 4096
# 生成证书签名请求 (CSR)
openssl req -new -key harbor.baga.live.key -out harbor.baga.live.csr \
-subj "/C=CN/ST=Beijing/L=Beijing/O=peekaboo/OU=peekaboo/CN=harbor.baga.live"
3、使用 CA 签署 Harbor 的证书
openssl x509 -req -in harbor.baga.live.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
-out harbor.baga.live.crt -days 7300 -sha256
二、部署harbor
1、下载harbor包,我选择最新版本
https://github.com/goharbor/harbor/releases
我使用了online包,部署时从公网拉取镜像,这需要国外网络或者代理
harbor-online-installer-v2.10.3.tgz
2、解压harbor包后创建证书目录,将生成的证书拷贝到目录certs目录中
解压后会生成harbor目录
mdkir /data/harbor/certs/
# 拷贝证书到certs目录下,证书文件如下
ca.crt ca.key harbor.baga.live.crt harbor.baga.live.csr harbor.baga.live.key
3、配置harbor.yml
# 修改项,主要就是配置证书,数据目录按需修改
hostname: harbor.baga.live
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
certificate: /data/harbor/certs/harbor.baga.live.crt
private_key: /data/harbor/certs/harbor.baga.live.key
data_volume: /data
4、运行install.sh生成docker-compose
bash install.sh
root@harbor:/data/harbor# ll -rth docker-compose.yml
-rw-r--r-- 1 root root 5.8K Aug 13 10:55 docker-compose.yml
5、此时可以使用ip访问到harbor
6、harbor创建机器人用户
这里我创建了baga用户,但是机器人用户名是robot$baga
7、打包证书放到拉取镜像的docker
root@harbor:/data/harbor/certs# tar zcvf harbor-cert.tar.gz ./ca.crt ./harbor.baga.live.crt ./harbor.baga.live.key
./ca.crt
./harbor.baga.live.crt
./harbor.baga.live.key
8、jenkins的docker创建certs.d/harbor.baga.live目录,解压到目录下,这样就不需要daemon.json中指定证书文件了
root@jenkins:/etc/docker/certs.d/harbor.baga.live# scp 192.168.31.40:/data/harbor/certs/harbor-cert.tar.gz .
9、certs.d目录创建login文件
root@jenkins:/etc/docker/certs.d# cat login
docker login harbor.baga.live -u 'robot$baga' -p 'tKHmmQvhF8e1l8Vut5WXlIB4CwudyBK1'
标签:compose,harbor,ca,live,baga,certs,key,docker
From: https://www.cnblogs.com/Jarvansi/p/18356496