Centos7搭建Harbor

一、硬件配置及软件版本

1.服务器配置

最低要求:CPU2核/内存4G/硬盘40G

推荐:CPU4核/内存8G/硬盘300G

2.软件版本

Docker CE 17.06版本+      本文版本:Docker CE 20.10.14

Docker Compose 1.18版本+  本文版本:V2.4.1

Harbor  v2.5.0

3.安装方式

Harbor有两种安装方式:

• 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小

• 离线安装:安装包包含部署的相关镜像,因此安装包比较大

二、安装Docker和Docker Compose

1.安装docker

# 安装依赖包

yum install -y yum-utils

# 添加Docker软件包源

yum-config-manager --add-repo \

https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker CE

yum install -y docker-ce

# 启动Docker服务并设置开机启动

systemctl start docker

systemctl enable docker

2.安装docker compose

 #下载

wget https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64

#移动到系统二进制目录下

mv docker-compose-linux-x86_64  /usr/bin/docker-compose

#赋可执行权限

chmod a+x /usr/bin/docker-compose

#验证是否安装成功

docker-compose --help

三、部署Harbor HTTP

1.下载安装包

本文选择离线安装方式,所以安装包有点大

wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz

2.解压修改配置

tar zxvf harbor-offline-installer-v2.5.0.tgz

cd harbor

cp harbor.yml.tmpl harbor.yml

   vim harbor.yml

  hostname: reg.mydomain.com #此处需要修改,IP或者域名都行

 #https的四行配置需要添加注释

  https:

port: 443

certificate: /your/certificate/path

 private_key: /your/private/key/path

           #可以修改数据目录

           data_volume: /data

           #可以修改harbor管理员初始密码

           harbor_admin_password: Harbor12345

           #可以修改日志路径

           log:

             level: info

             local:

               rotate_count: 50

               rotate_size: 200M

               location: /var/log/harbor

3.配置加载并安装

 ./prepare

 ./install.sh

 

安装完成,可以使用docker-compose查看

4.登陆页面查看

  

 

 

5.本地docker登陆问题

http方式搭建的harbor本地docker登陆的时候需要配置信任,否则按https请求,会报错。配置方式如下:

IP地址为仓库地址

vim /etc/docker/daemon.json

 

重启docker

四、启用HTTPS

1.生成ssl证书

可以自己生成自签证书,或者网上申请证书都可,阿里云域名可以申请免费证书

#生成自签证书

自签证书使用的时候需要做本地hosts解析

#创建证书目录

 

mkdir -p /etc/harbor/key

cd /etc/harbor/key

#生成秘钥和自签名证书:

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

#生成证书签名请求(域名改为自己harbor里的)这里为(harbor.my.com)

openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.my.com.key -out harbor.my.com.csr

#生成服务器证书:(域名改为自己harbor里的)这里为(harbor.my.com)

openssl x509 -req -days 365 -in harbor.my.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out harbor.my.com.crt

2.Harbor启用HTTPS

vi harbor.yml

hostname: harbor.my.com #此处需要修改成自己的域名

 https:

port: 443

certificate: /etc/harbor/key/harbor.my.com.crt

         private_key: /etc/harbor/key/harbor.my.com.key

     把以上https的四行注释去掉,然后配置实际的证书路径即可

3.重新配置并部署Harbor

./prepare

docker-compose down

docker-compose up -d

4.将证书复制到docker主机

mkdir /etc/docker/certs.d/harbor.my.com(你的域名)

cp 你的域名 /etc/docker/certs.d/harbor.my.com/harbor.my.com.crt

  到此Harbor https配置完成

 

  

五、Harbor维护

容器

功能

harbor-core

配置管理中心

harbor-db

PG数据库

harbor-jobservice

负责镜像复制

harbor-log

记录操作日志

harbor-portal

Web管理页面和API

nginx

前端代理,负责前端页面和镜像上传/下载转发

redis

会话

registryctl

镜像存储

容器数据持久化目录(可更改):/data

日志文件目录(可更改):/var/log/harbor

数据库做好定期备份。

六、配置Harbor主从复制

1.主备

• 简单,主挂了切到备Harbor

• 同一时间只有一台提供服务

• 适合少量镜像下载

2.双主

• 双向配置复制

• 两台同时提供服务

• 前面增加负载均衡器

3.一主多从

• 多个从同步主

• 适合多地区业务、大量镜像下载需求

4.主从配置步骤

 

 

 

提供者:选择Harbor

目标名:自定义,可填一个具有声明意义的名称

描述:自定义,可备注目标仓库的一些信息

目标URL:对端仓库的地址

访问ID:目标仓库的用户名

访问密码:访问ID的密码

验证远程证书:如果对端用的是自签证书或者非信任证书的话不要勾选此项

 

 

 

 

 

 

名称:自定义,有声明意义

描述:自定义,备注规则中仓库信息

复制模式:

Push-based:从本地仓库推送到远程仓库,双主模式两个harbor同时配置

Pull-based:从远程仓库拉去到本地仓库,一主多从模式的从库可配置,主从模式从库可配置

目标仓库/源仓库:对端仓库地址,在仓库管理中添加

资源过滤器:指定根据什么来同步

触发模式:一般选择事件驱动,这样主库已更新就会同步

posted @ 2022-04-20 16:36  愤怒的小白~  阅读(538)  评论(0编辑  收藏  举报