【2023】高可用Harbor部署

简介: 【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配置

  • 创建仓库

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

  • 创建复制规则

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

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。

目录
相关文章
|
存储 缓存 NoSQL
Harbor高可用集群设计及部署(基于离线安装方式一)
基于Harbor离线安装方式的高可用方案设计及部署。
1014 0
|
Kubernetes NoSQL 关系型数据库
通过helm部署gitlab服务
通过helm部署gitlab服务
|
存储 关系型数据库 数据库
用Patroni配置PostgreSQL高可用集群
Patroni是Zalando开发的数据库高可用管理软件,用于编排和自动化PostgreSQL集群的管理过程。Patroni 需要一系列其他组件的支持,通过利用第三方分布式一致性软件,组建并实现数据库高可用方案。
用Patroni配置PostgreSQL高可用集群
|
Kubernetes API 容器
loki日志收集全网最全教程(强推)
loki日志收集全网最全教程(强推)
|
Kubernetes 负载均衡 应用服务中间件
【K8S系列】第十三讲:Ingress详解
【K8S系列】第十三讲:Ingress详解
8793 0
|
Docker 容器
Docker自建仓库之Harbor高可用部署实战篇
关于如何部署Harbor高可用性的实战教程,涵盖了从单机部署到镜像仓库同步的详细步骤。
847 15
Docker自建仓库之Harbor高可用部署实战篇
|
Kubernetes 应用服务中间件 nginx
k8s学习--k8s集群使用容器镜像仓库Harbor
本文介绍了在CentOS 7.9环境下部署Harbor容器镜像仓库,并将其集成到Kubernetes集群的过程。环境中包含一台Master节点和两台Node节点,均已部署好K8s集群。首先详细讲述了在Harbor节点上安装Docker和docker-compose,接着通过下载Harbor离线安装包并配置相关参数完成Harbor的部署。随后介绍了如何通过secret和serviceaccount两种方式让Kubernetes集群使用Harbor作为镜像仓库,包括创建secret、配置节点、上传镜像以及创建Pod等步骤。最后验证了Pod能否成功从Harbor拉取镜像运行。
2288 0
|
数据可视化 前端开发 应用服务中间件
flask+nginx+uwsgi部署服务器(详细保姆级教程)
本次项目我利用flask写了接口需要部署到服务器供前端使用,一路走来爬了很多坑,所以这一次做了详细的记录,从零开始教大家将flask项目跑起来
3227 2
flask+nginx+uwsgi部署服务器(详细保姆级教程)

热门文章

最新文章