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

移动到系统二进制目录下

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

赋可执行权限

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

验证是否安装成功

docker-compose –help

三、 部署 Harbor HTTP

1.下载安装包

本文选择脱机安装,因此安装包有点大。

[En]

This article chooses offline installation, so the installation package is a little large.

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 查看

Centos7搭建Harbor

4.登陆页面查看

Centos7搭建Harbor

5.本地 docker登陆问题

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

IP地址为仓库地址

vim /etc/docker/daemon.json

Centos7搭建Harbor

重启docker

四、 启用 HTTPS

1.生成 ssl证书

您可以生成自己的自签名证书或在线申请证书。阿里云域名可以申请免费证书。

[En]

You can generate your own self-signed certificate or apply for a certificate online. Aliyun domain name can apply for a free certificate.

生成自签证书

自签证书使用的时候需要做本地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.主从配置步骤

Centos7搭建Harbor

Centos7搭建Harbor

提供者:选择Harbor

目标名称:Custom,您可以填写声明性名称

[En]

Target name: custom, you can fill in a declarative name

描述:自定义,您可以对目标仓库的一些信息进行评论

[En]

Description: custom, you can comment on some information of the target warehouse

目标URL :对端仓库的地址

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

访问密码:访问ID 的密码

验证远程证书:如果对等方使用的是自签名证书或不受信任的证书,则不要选中此框

[En]

Verify remote certificate: do not check this box if the peer is using a self-signed certificate or an untrusted certificate

Centos7搭建Harbor

Centos7搭建Harbor

名称:自定义、声明性

[En]

Name: custom, declarative

说明:备注规则中的客户、仓库信息

[En]

Description: custom, warehouse information in remarks rules

复制模式:

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

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

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

资源筛选器:指定同步所基于的内容

[En]

Resource filters: specify what synchronization is based on

触发方式:一般选择事件驱动,主库更新后同步

[En]

Trigger mode: generally choose event-driven, so that the main library will be synchronized when it has been updated

Original: https://www.cnblogs.com/mgsudu/p/16170478.html
Author: 愤怒的小白~
Title: Centos7搭建Harbor

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523790/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球