返回顶部
首页 > 资讯 > 服务器 >Harbor高可用配置及仓库使用介绍
  • 563
分享到

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

2024-04-02 19:04:59 563人浏览 薄情痞子
摘要

目录一、Harbor 简介1.Harbor 功能介绍2.Harbor 高可用方式二、Harbor 仓库使用介绍1.安装 Docker2.安装 Docker-Compose3.配置 H

一、Harbor 简介

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

1.Harbor 功能介绍

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

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

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

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

2.Harbor 高可用方式

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

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

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

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

二、Harbor 仓库使用介绍

准备工作:

主机名操作系统IP 地址
NginxCentos 7.x192.168.1.1
Harbor-01CentOS 7.x192.168.1.2
Harbor-02CentOS 7.x192.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

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

重新安装即可。

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

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 <<END >> /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(认证失败)错误码。

3)Harbor 界面配置

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

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

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

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

5.验证

1)在 Docker 上配置 Harbor 仓库

[root@Harbor-01 ~]# cat <<END > /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

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仓库配置使用的资料请关注编程网其它相关文章!

--结束END--

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

本文链接: https://lsjlt.com/news/149773.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Harbor高可用配置及仓库使用介绍
    目录一、Harbor 简介1.Harbor 功能介绍2.Harbor 高可用方式二、Harbor 仓库使用介绍1.安装 Docker2.安装 Docker-Compose3.配置 H...
    99+
    2024-04-02
  • harbor高可用集群配置
    arbor是由VMWare在Docker Registry的基础之上进行了二次封装,加进去了很多额外程序,而且提供了一个非常漂亮的web界面。说明...
    99+
    2023-06-05
  • JavaScriptwebpack5配置及使用基本介绍
    目录一、webpack1.1 简介1.2 五大核心概念entry (入口)output (出口)loaderplugin (插件)mode (模式)二、配置及使用项目结构使用html...
    99+
    2024-04-02
  • Apache介绍及常用配置
    Apache是一款开源的Web服务器软件,也是目前世界上使用最广泛的Web服务器软件之一。它能够处理静态文件和动态内容,并且支持多种...
    99+
    2023-09-21
    Apache
  • Monaco-editor的JSONSchema配置及使用介绍
    目录JSON Schema 作用用法JSON Schema Core Vocabulary$schema$id$ref$dynamicRef$anchor / $dynamicAnc...
    99+
    2024-04-02
  • 镜像仓库 Harbor搭建和使用教程
    目录镜像仓库 Docker Hub公共镜像私有镜像(内部)Docker搭建Docker-composeHarbordocker客户端访问镜像仓库 Docker Hub 公共镜像 do...
    99+
    2024-04-02
  • Matplotlib库的介绍及使用
    Matplotlib库的介绍及使用 1. pyplot子库的基本使用1.1 Matplotlib库的介绍1.2 plot函数1.3 pyplot的中文显示1.4 pyplot的文本显示 2...
    99+
    2023-10-02
    matplotlib python numpy
  • Numpy库的介绍及使用
    Numpy库的介绍及使用 1. Numpy库入门1.1 数据的维度1.2 ndarray的优势1.3 ndarray对象的属性1.4 ndarray数组的创建和变换1.4.1 ndarray数...
    99+
    2023-09-04
    numpy python
  • Android数据库greenDAO配置与使用介绍
    目录build.gradle配置数据库初始化添加数据删除数据修改数据查询数据补充结束不知不觉发现都快一个月没有写点东西了,自己最近也是忙于工作与生活当中,这个月经历了很多事情,有开心...
    99+
    2023-03-12
    Android数据库greenDAO Android greenDAO
  • MySQL高可用集群的介绍以及用法
    MySQL高可用集群的介绍以及用法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1 MMM概述1.1 关于mysql-mmmM...
    99+
    2024-04-02
  • 怎么使用docker compose安装harbor私有仓库
    这篇文章主要介绍怎么使用docker compose安装harbor私有仓库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!概述  harbor是什么呢?英文单词的意思是:港湾。港湾用来存放集装箱(货物的),而dock...
    99+
    2023-06-20
  • 如何配置使用YUM仓库
    小编给大家分享一下如何配置使用YUM仓库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!通过源代码编译的方式安装程序在灵活性、可定制性方面具有无可比拟的优势,但也正...
    99+
    2023-06-27
  • 配置maven使用本地仓库
    由于工作时是在内网环境,maven无法连接互联网,所以只能事先将jar下载到本地,然后通过配置pom文件,将jar引用至本地仓库即可。 1、首先,我们需要打开本地的仓库,查看此文件 2、记住此文件的仓库镜像:比如我的是 sf-group ...
    99+
    2023-08-16
    maven intellij-idea java
  • MySQL高可用方案介绍
    本文简单描述了本人初学MySQL的时候整理的一个MySQL高可用方案的PPT,虽然不太全面也不一定准确,但还是想拿出来和大家共享一下,共同讨论,共同进步。 另外,此偏文章做成PPT,忽悠领导或上级 是非常好...
    99+
    2024-04-02
  • 数据库管理与高可用----MHA高可用配置及故障切换
    原文:https://blog.51cto.com/14625831/2547984...
    99+
    2017-04-19
    数据库管理与高可用----MHA高可用配置及故障切换 数据库入门 数据库基础教程
  • kubernetes中怎么使用Harbor作为私有镜像仓库
    这篇文章主要介绍了kubernetes中怎么使用Harbor作为私有镜像仓库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一:前言Harbor使用了基于角色的访问控制策略,当...
    99+
    2023-06-04
  • 交互式可视化js库gojs使用介绍及技巧
    目录1. gojs 简介2. gojs 应用场景3. 为什么选用 gojs:4. gojs 上手指南5. 小技巧(非常实用哦)6. 实践:实现节点分组关系可视化交互图最后1. goj...
    99+
    2024-04-02
  • Apache介绍及使用
    Apache的介绍 Apache全称:Apache HTTPD Server ;是Apache基金会的一个开源网页服务器,可以在大多数计算机操作系统中运行。Apache提供的服务器又称为:补丁服务器 ...
    99+
    2023-09-17
    apache php 服务器
  • fastjson2 介绍及使用
    目录 前言一、导入fastjson2依赖二、json对象与json数组的创建json对象创建json数组创建 三、json对象取值与json数组遍历取值json对象取值json数组遍历取值 四、json对象与字符串的转换js...
    99+
    2023-08-18
    java fastjson2 fastjson fastJson
  • SpringMVC配置与使用详细介绍
    目录一、SpringMVC的使用1、MVC模式2、具体的坐标如下3、配置DispatcheServlet4、编写springmvc.xml的配置文件二、SpringMVC原理1、Sp...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作