部署harbor(centos-7) https连接方式
admin
2023-04-10 22:07:57
0

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器

部署指南参考官网:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

硬件要求:

Resource Capacity Description

CPU     2CPU 4CPU is preferred

Mem     4GB         8GB is preferred

Disk     40GB     160GB is preferred

软件要求

Software       Version

Python           version 2.7 or higher (自带)

Docker engine   version 1.10 or higher 

Docker Compose   version 1.6.0 or higher

Openssl latest    latest      (自带)


1.安装docker “docker compose”

安装docker 参考我的另一篇文章(https://blog.51cto.com/9406836/2314122)

安装docker compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

2.下载harbor离线安装包

mkdir /harbor

cd /harbor

wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.4.tgz

tar xvf harbor-offline-installer-v1.5.4.tgz

cd harbor

3.生成利用openssl生成秘钥

3.1 生成自签证书,以及私钥。(这一步与下一步有重复,因为我又以CA的身份重新授权了一次)

mkdir /pri

cd /pri

openssl req -new -newkey rsa:2048 -nodes -keyout ca.key -x509 -days 365 -out ca.crt

/C=CN

/ST=GUANGDONG

/L=SZ

/O=example

/OU=Personal

/CN=yourdomain.com

# -newkey 生成私钥 -node 不加密 -keyout生成私钥 -x509证书结构文件 -out生成公钥 -days有效时间 

3.2 编辑证书扩展文件v3.ext(主要目的是添加多域名认证,比如google.com证书下面,可以关联信任youku.com等证书)

cat > v3.ext <<-EOF

authorityKeyIdentifier=keyid,issuer

basicConstraints=CA:FALSE

keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment

extendedKeyUsage = serverAuth 

subjectAltName = @alt_names


[alt_names]  #重点在这,下面可以是你主机名,比如我的主机redhat.example.com

DNS.1=yourdomain.com

DNS.2=yourdomain

DNS.3=hostname

EOF 

3.3 Harbor服务器(redhat.example.com为例,记得更改hosts)进行证书认证。

生成服务器私钥

openssl genrsa -out redhat.example.com.key 2048

生成认证请求(根据小道消息,CN信息一定要匹配服务器主机名)

  openssl req -sha512 -new \

-subj "/C=CN/ST=GUANGDONG/L=SZ/O=XXX/OU=XXX/CN=redhat.example.com" \

-key redhat.example.com.key \

-out redhat.example.com.csr

3.4 CA服务器上进行认证授权(我是同一台)

cd /pri

openssl x509 -req -sha512 -days 3650 \

-extfile v3.ext \

-CA ca.crt -CAkey ca.key -CAcreateserial \

-in redhat.example.com.csr \

-out redhat.example.com.crt

3.5 配置安装证书(harbor证书存放位置)

mkdir -p /data/cert

cp redhat.example.com.csr /data/cert/

cp redhat.example.com.crt /data/cert/

3.6 要为docker服务器安装证书,docker服务器要求证书要是.cert结尾的文件

openssl x509 -inform PEM -in example.com.crt -out example.com.cert

mkdir -p /etc/docker/certs.d/example.com

cp example.com.cert /etc/docker/certs.d/example.com/

cp example.com.key /etc/docker/certs.d/example.com/

cp ca.crt /etc/docker/certs.d/example.com/

部署后结构如下

/etc/docker/certs.d/

└── yourdomain.com:port   

   ├── yourdomain.com.cert  <-- Server certificate signed by CA

   ├── yourdomain.com.key   <-- Server key signed by CA

   └── ca.crt               <-- Certificate authority that signed the registry certificate

4.部署harbor

4.1编辑配置文件

cd /harbor/harbor

vim harbor.cfg

  #set hostname

  hostname = redhat.example.com

  #set ui_url_protocol

  ui_url_protocol = https

  ......

  #The path of cert and key files for nginx, they are applied only the protocol is set to https 

  ssl_cert = /data/cert/redhat.example.com.crt

  ssl_cert_key = /data/cert/redhat.example.com.key


4.2预编译文件

./prepare

4.3 安装harbor

./install.sh

4.4 启动harbor

docker-compose start

#4.5关闭harbor

docker-compose stop

5.web访问注册harbor

5.1登陆页面

https://redhat.example.com(记得添加hosts,记得添加证书信任)

5.2 注册账户

用户名:xxx 密码:xxx

6.客户端拉取镜像

6.1 首先将自签证书添加到信任列表

cp ca.crt /etc/pki/ca-trust/source/anchors/ca.crt

update-ca-certificates

6.2 重启docker

systemctl restart docker

6.3 连接登陆harbor

docker login redhat.example.com

用户名:xxx 密码:xxx

暂时就这么多,其实我想写很多我理解的细节,但是怕误人子弟,所以大家自己去查吧。


相关内容

热门资讯

徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...
新租客打扫卧室柜子上掉落4万元... 近日,莲前西路某小区内,张倩签下一套房子的租赁合同。当天上午,她带着12岁的大女儿周馨怡和11岁的小...
六部门通告:禁止涉军队退役报废... 关于禁止涉军队退役报废装备销售活动的通告近年来,部分经营者在线上线下公开销售涉及我军退役报废装备(指...
九寨沟景区发生泥石流,部分道路... 7月26日,九寨沟风景名胜区管理局发布泥石流灾害通报:2026年7月26日15时50分,九寨沟景区局...
空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...