【2023】高可用Harbor部署

架构图

注意:此架构有缺陷不适合用于生产,只作为学习
在这里插入图片描述

1.安装docker

因为安装harbor需要用到docker,所以请先安装docker

这一步内容请看docker安装

2.安装harbor

  • 下载harbor包
wget https://github.com/goharbor/harbor/releases/download/v2.5.6/harbor-offline-installer-v2.5.6.tgz

如果网速慢,本文提供一个免费下载的包harbor-v2.5.6

  • 解压缩进行配置
tar xf harbor-offline-installer-v2.5.6.tgz 
cd harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

# 配置文件内容,IP192.168.10.3改成对应IP
hostname: 192.168.10.2
harbor_admin_password: Harbor12345
# https相关内容注释
#https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  # certificate: /your/certificate/path
  # private_key: /your/private/key/path

  • 进行安装
./install.sh
  • 登录验证

192.168.10.2
在这里插入图片描述
192.168.10.3
在这里插入图片描述

3.配置harbor复制规则

harbor-01配置

  • 创建仓库

点击系统管理——》仓库管理——》新建目标——》填写信息——》测试连接——》成功点确定

在这里插入图片描述

  • 创建复制规则

点击系统管理——》复制管理——》新建规则——》填写信息——》保存

在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 14797596 查看本文章

harbor-02配置

在02上进行类似的配置

  • 创建仓库
    在这里插入图片描述
  • 创建复制规则

在这里插入图片描述
在这里插入图片描述

4.部署Haproxy做代理

  • 安装haproxy服务
yum -y install haproxy
  • 准备真实有效的证书(本人使用阿里云免费证书)
[root@localhost ~]# unzip 9486797_harbor.yyang.top_nginx.zip 
Archive:  9486797_harbor.yyang.top_nginx.zip
Aliyun Certificate Download
  inflating: 9486797_harbor.yyang.top.pem  
  inflating: 9486797_harbor.yyang.top.key  
[root@localhost ~]# mkdir /ssl
[root@localhost ~]# cat 9486797_harbor.yyang.top.pem >/ssl/harbor.pem
[root@localhost ~]# cat 9486797_harbor.yyang.top.key >>/ssl/harbor.pem 
  • 配置haproxy,添加以下内容

      vim /etc/haproxy/haproxy.cfg
    
frontend  harbor
  bind *:80
  bind *:443 ssl crt /ssl/harbor.pem
  mode http
  use_backend harbor_cluster
  redirect scheme https if !{
    
     ssl_fc }
  http-request set-header X-Forwarded-Proto http if !{
    
     ssl_fc }
  http-request set-header X-Forwarded-Proto https if {
    
     ssl_fc }

backend harbor_cluster
  balance source
  server harbor-01 192.168.10.2:80 check port 80
  server harbor-02 192.168.10.3:80 check port 80
  • 启动服务
systemctl start haproxy.service 
systemctl enable haproxy.service 
  • harbor节点做本地解析(两个)因为并没有真的域名
echo "192.168.10.4 harbor.yyang.top" >>/etc/hosts
  • 准备一个nginx上传至harbor测试
docker pull busybox
docker images
busybox                         latest    beae173ccac6   14 months ago   1.24MB
docker tag beae173ccac6 harbor.yyang.top/test/busybox
docker push harbor.yyang.top/test/busybox:latest
The push refers to repository [harbor.yyang.top/test/busybox]
01fd6df81c8e: Pushed 
latest: digest: sha256:62ffc2ed7554e4c6d360bce40bbcf196573dd27c4ce080641a2c59867e732dee size: 527
  • 登录网页查看是否同步
    在这里插入图片描述
    在这里插入图片描述
    此时两个harbor上都可以看到busybox镜像

注意:次架构不能同步用户级别镜像。只能使用admin。

猜你喜欢

转载自blog.csdn.net/qq_42527269/article/details/129551290
今日推荐