欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

Harbor高可用配置及仓库使用介绍

时间:2025-12-15 15:30:03|栏目:其它服务器|点击:

目录
  • 一、Harbor 简介
    • 1.Harbor 功能介绍
    • 2.Harbor 高可用方式
  • 二、Harbor 仓库使用介绍
    • 1.安装 Docker
    • 2.安装 Docker-Compose
    • 3.配置 Harbor
    • 4.Harbor 高可用配置
      • 1)安装 Nginx 服务
      • 2)修改 Nginx 配置文件
      • 3)Harbor 界面配置
    • 5.验证

    一、Harbor 简介

    Harbor 是由 VMware 公司使用 Go 语言开发,主要就是用于存放镜像使用,同时我们还可以通过 Web 界面来对存放的镜像进行管理。并且 Harbor 提供的功能有:基于角色的访问控制,镜像远程复制同步,以及审计日志等功能。官方文档

    1.Harbor 功能介绍

    1)基于角色的访问控制: 我们可以通过项目来对用户进行权限划分,项目中可以包含多个镜像。

    2)审计管理: 我们可以在用户审计管理中,找到我们所有对镜像仓库做的操作。

    3)镜像复制: 我们可以通过配置,使在两台 Harbor 服务器间实现镜像同步。

    4)漏洞扫描: Harbor 会定期对仓库中的镜像进行扫描,并进行策略检查,以防止部署出易受到攻击的镜像。

    2.Harbor 高可用方式

    目前 Harbor 最常见的高可用方式有两种,分别是:

    1)安装两台 Harbor 仓库,他们共同使用一个存储(一般常见的便是 NFS 共享存储)

    Harbor高可用配置及仓库使用介绍

    2)安装两台 Harbor 仓库,并互相配置同步关系。

    Harbor高可用配置及仓库使用介绍

    因为第一种方式的话,需要额外配置 Redis 和 PostgreSQL 以及 NFS 服务,所以我们下面使用第二种方式进行 Harbor 高可用配置。

    二、Harbor 仓库使用介绍

    准备工作:

    主机名 操作系统 IP 地址
    Nginx CentOS 7.x 192.168.1.1
    Harbor-01 CentOS 7.x 192.168.1.2
    Harbor-02 CentOS 7.x 192.168.1.3

    1.安装 Docker

    1)安装基础包

    [root@Harbor-01 ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
    

    2)配置 Docker 的 yum 源

    [root@Harbor-01 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    [root@Harbor-01 ~]# yum-config-manager \
    
    --add-repo \
    
    https://download.docker.com/linux/centos/docker-ce.repo
    

    3)安装并启动 Docker

    我们可以使用 yum list docker-ce --showduplicates | sort -r 命令来查看 Docker 的所有版本。

    [root@Harbor-01 ~]# yum -y install docker-ce-19.03.12 docker-ce-cli-19.03.12
    [root@Harbor-01 ~]# systemctl enable docker --now									# 启动并配置开机自启动
    

    2.安装 Docker-Compose

    [root@Harbor-01 ~]# wget "https://github.com/docker/compose/releases/download/v2.3.2/docker-compose-$(uname -s)-$(uname -m)" -O /usr/local/bin/docker-compose	
    [root@Harbor-01 ~]# chmod +x /usr/local/bin/docker-compose
    [root@Harbor-01 ~]# docker-compose --version
    

    3.配置 Harbor

    1)安装 Harbor

    [root@Harbor-01 ~]# wget https://github.com/goharbor/harbor/releases/download/v2.3.1/harbor-offline-installer-v2.3.1.tgz  
    [root@Harbor-01 ~]# tar zxf harbor-offline-installer-v2.3.1.tgz
    

    2)修改 Harbor 配置文件

    [root@Harbor-01 ~]# cd harbor/
    [root@Harbor-01 ~]# cp harbor.yml.tmpl harbor.yml
    [root@Harbor-01 ~]# sed -i 's/reg.mydomain.com/192.168.1.2/' harbor.yml					# 修改 Harbor 主机名
    [root@Harbor-01 ~]# mkdir -p /app/harbor/data
    [root@Harbor-01 ~]# sed -i '/data_volume/s/\/data/\/app\/harbor\/data/' harbor.yml		# 修改存储目录
    

    3)启动 Harbor

    [root@Harbor-01 ~]# ./install.sh

    Harbor高可用配置及仓库使用介绍

    启动时出现:ERROR:root:Error: The protocol is https but attribute ssl_cert is not set 报错,这个报错是因为 Harbor 配置文件里的 HTTPS 相关配置 并没有进行修改或是关闭处理。

    Harbor高可用配置及仓库使用介绍

    重新安装即可。

    Harbor高可用配置及仓库使用介绍

    验证:http://192.168.1.2(默认的账号密码为:admin/Harbor12345)

    Harbor高可用配置及仓库使用介绍

    4.Harbor 高可用配置

    1)安装 Nginx 服务

    [root@Nginx ~]# yum -y install pcre-devel zlib-devel popt-devel openssl-devel openssl
    [root@Nginx ~]# wget http://www.nginx.org/download/nginx-1.21.0.tar.gz
    [root@Nginx ~]# ls
    anaconda-ks.cfg  nginx-1.21.0.tar.gz
    [root@Nginx ~]# tar zxf nginx-1.21.0.tar.gz -C /usr/src/
    [root@Nginx ~]# cd /usr/src/nginx-1.21.0/
    [root@Nginx nginx-1.21.0]# useradd -M -s /sbin/nologin nginx
    [root@Nginx nginx-1.21.0]# ./configure \
    
    --prefix=/usr/local/nginx \
    
    --user=nginx \
    
    --group=nginx \
    
    --with-file-aio \
    
    --with-http_stub_status_module \
    
    --with-http_gzip_static_module \
    
    --with-http_flv_module \
    
    --with-http_ssl_module \
    
    --with-stream \
    
    --with-pcre && make && make install
    [root@Nginx nginx-1.21.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
    

    2)修改 Nginx 配置文件

    [root@Nginx ~]# cat <> /usr/local/nginx/conf/nginx.conf
    stream {
        upstream harbor {
            server 192.168.1.2:80;
            server 192.168.1.3:80 backup;									# 备用服务器
        }
        server {
            listen 5000;
            proxy_pass harbor;
            proxy_timeout 300s;
            proxy_connect_timeout 5s;
        }
    }
    END
    [root@Nginx ~]# nginx -s reload
    [root@Nginx ~]# echo "192.168.1.1 harbor.tianya.com" >> /etc/hosts
    

    上面配置 backup(备用)的原因,主要就是因为 Harbor 需要使用账号密码来进行验证。

    也就是说,当我们登录到其中一台 Harbor 主机上,可能还会轮询到另一台 Harbor 主机上,但是这另一台 Harbor 主机并没有使用账号密码来进行验证。可能就会阶段性的出现 401 Unauthorized(认证失败)错误码。

    Harbor高可用配置及仓库使用介绍

    3)Harbor 界面配置

    1)创建一个新的项目:http://192.168.1.2

    Harbor高可用配置及仓库使用介绍

    2)在仓库管理新建一个目标

    Harbor高可用配置及仓库使用介绍

    3)在复制管理新建一个规则

    Harbor高可用配置及仓库使用介绍

    Harbor高可用配置及仓库使用介绍

    因为我们做的是基于双主的 Harbor 高可用,所以需要在备用的 Harbor 上也执行下上面的步骤。

    5.验证

    1)在 Docker 上配置 Harbor 仓库

    [root@Harbor-01 ~]# cat < /etc/docker/daemon.json
    {
        "registry-mirrors": [
            "https://ipbtg5l0.mirror.aliyuncs.com"
        ],
        "insecure-registries": [
            "http://harbor.tianya.com:5000"
        ]
    }
    END
    [root@Harbor-01 ~]# systemctl daemon-reload && systemctl restart docker
    [root@Harbor-01 ~]# docker login http://harbor.tianya.com:5000
    Username: admin
    Password: Harbor12345
    

    2)验证推送

    [root@Harbor-01 ~]# docker pull nginx:1.18.0
    [root@Harbor-01 ~]# docker tag nginx:1.18.0 harbor.tianya.com:5000/kubernetes/nginx:1.18.0
    [root@Harbor-01 ~]# docker push harbor.tianya.com:5000/kubernetes/nginx:1.18.0
    

    Harbor高可用配置及仓库使用介绍

    3)验证高可用

    [root@Harbor-01 ~]# cd harbor/
    [root@Harbor-01 ~]# docker-compose down												# 关闭 Harbor
    [root@Harbor-02 ~]# docker pull harbor.tianya.com:5000/kubernetes/nginx:1.18.0
    

    Harbor高可用配置及仓库使用介绍

    以上就是Harbor高可用配置及仓库使用介绍的详细内容,更多关于Harbor仓库配置使用的资料请关注其它相关文章!

    上一篇:VMware 虚拟机图文安装和配置 Ubuntu Server 22.04 LTS 的详细步骤

    栏    目:其它服务器

    下一篇:Kubernetes安装Jenkins的思路详解

    本文标题:Harbor高可用配置及仓库使用介绍

    本文地址:https://zz.feitang.co/server/31057.html

    广告投放 | 联系我们 | 版权申明

    申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:257218569 | 邮箱:257218569@qq.com

    Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号