【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。

目录
相关文章
|
9月前
|
存储 缓存 NoSQL
Harbor高可用集群设计及部署(基于离线安装方式一)
基于Harbor离线安装方式的高可用方案设计及部署。
229 0
|
1月前
|
负载均衡 容灾 安全
Docker Swarm总结+基础、集群搭建维护、安全以及集群容灾(1/5)
Docker Swarm总结+基础、集群搭建维护、安全以及集群容灾(1/5)
154 2
|
1月前
|
Kubernetes JavaScript Java
使用kubeadm搭建高可用的K8s集群
使用kubeadm搭建高可用的K8s集群
55 0
|
9月前
|
Kubernetes 网络安全 数据安全/隐私保护
Helm3部署Rancher2.6.3高可用集群
Helm3部署Rancher2.6.3高可用集群,通过创建 Kubernetes Secret 使用自签证书。
254 1
|
1月前
|
存储 Kubernetes Cloud Native
云原生|kubernetes|centos7下的kubeadm部署的集群内在线部署kubesphere(外部etcd)
云原生|kubernetes|centos7下的kubeadm部署的集群内在线部署kubesphere(外部etcd)
81 0
|
1月前
|
Kubernetes Cloud Native Linux
云原生|kubernetes|kubeadm部署高可用集群(一)使用外部etcd集群
云原生|kubernetes|kubeadm部署高可用集群(一)使用外部etcd集群
155 0
|
canal Kubernetes Cloud Native
云原生|kubernetes|kubeadm部署高可用集群(一)使用外部etcd集群(二)
云原生|kubernetes|kubeadm部署高可用集群(一)使用外部etcd集群
495 0
|
9月前
|
关系型数据库 应用服务中间件 数据库
Harbor高可用集群设计及部署(基于离线安装方式二)
基于Harbor离线安装方式的高可用方案设计及部署。
285 0
|
8月前
|
Kubernetes Shell 开发工具
源码安装kubernetes高可用集群
源码安装kubernetes高可用集群
|
9月前
|
Nacos Docker 容器
基于Docker搭建Nacos高可用集群
基于Docker搭建Nacos高可用集群
644 0