环境说明:

node1    10.10.5.135    仓库 1
node2 10.10.5.136 仓库 2
node3 10.10.5.137 客户端 实验内容: Harbor 可以在两台主机之间相互同步仓库,客户端在任意主机上传镜像可以同步到所有Harbor仓库。

Harbor 安装:

两台机器都要安装好harbor

# 1 ) 安装docker :
yum install docker-ce -y
systemctl restart docker
systemctl enable docker # 2 ) 安装 docker-compose(1.7.1+):
yum install epel-release -y
yum install docker-compose -y # 3 ) 安装Harbor-1.7.5:
tar -zxvf harbor-offline-installer-v1.7.5.tgz && cd harbor vim harbor.cfg
hostname = 10.10.5.135 # 写对应的主机名
harbor_admin_password = 123456 # 默认密码:Harbor12345 ./install.sh 安装过程省略........ # 4 ) 登录页面查看:
http://10.10.5.135 | admin | 123456 # 5 ) docker log 会提示不能链接,没有SSL证书的情况下,需要把所有的harbor服务器地址都写进配置文件:
vim /etc/systemd/system/multi-user.target.wants/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 10.10.5.136 --insecure-registry 10.10.5.135 systemctl daemon-reload
systemctl restart docker

Harbor 复制:

1 )node1 (10.10.5.135) 上配置Harbor 仓库管理 和 复制管理:
# 仓库管理:
仓库管理 -> 新建目标 -> 目标名: baseimages -> 目标URL: http://10.10.5.136 -> 用户名:admin -> 密码:123456 -> 不选"验证远程证书" -> 测试连接 -> 确定 # 复制管理:
复制管库-> 新建规则 -> 名称:baseimages -> 源项目: baseimages -> 源镜像过滤器 -> 目标(下拉选择创建好的) -> 触发模式 即刻(可选:手动|即刻|定时) -> 保存 2 )node2 (10.10.5.136) 上配置Harbor 仓库管理 和 复制管理:
# 仓库管理:
仓库管理 -> 新建目标 -> 目标名: baseimages -> 目标URL: http://10.10.5.135 -> 用户名:admin -> 密码:123456 -> 不选"验证远程证书" -> 测试连接 -> 确定 # 复制管理:
复制管库-> 新建规则 -> 名称:aseimages -> 源项目: baseimages -> 源镜像过滤器 -> 目标(下拉选择创建好的) -> 触发模式 即刻(可选:手动|即刻|定时) ->保存 3 ) 测试同步:
这个时候去看日志里面 就会产生docker push 和 docker pull 的日志了. 下面有图 4 ) 测试客户端上传镜像到任意主机能同步到其他主机:
4.1 ) 登陆10.10.5.135,并上传镜像:
docker login 10.10.5.135 | admin | 123456
docker tag tomcat-app1:v1 10.10.5.135/baseimages/tomcat-app1:v1
docker push 10.10.5.135/baseimages/tomcat-app1:v1 4.2 )登陆10.10.5.136,并上传镜像:
docker login 10.10.5.136 | admin | 123456
docker tag tomcat-app2:v1 10.10.5.136/baseimages/tomcat-app2:v1
docker push 10.10.5.136/baseimages/tomcat-app2:v2 4.3 ) 登录任意Harbor 并上传镜像:
docker login 10.10.5.135 | admin | 123456
docker tag tomcat-app2:v1 10.10.5.135/baseimages/tomcat-app2:v1
docker push 10.10.5.135/baseimages/tomcat-app2:v2 *** 注意:
1 harbor 采用http协议传输, 按项目仓库来同步, 规则里源镜像过滤器能过滤(repository|tag|label).
2 创建规则的时候一定注意写的是同步到的目的主机URL和账号密码.
3 同步一定要看日志, 有时候发生了无法同步的问题,看看两边同步用的账号是否有一遍无法连通.

1 仓库管理设置图

2 复制管理设置图:

3 同步日志:

4 验证结果:

Docker Harbor 高可用 1.7.5版本(七)的更多相关文章

  1. harbor高可用部署

    文章转载自:https://blog.csdn.net/networken/article/details/119704025 harbor高可用简介 harbor目前有两种主流的高可用方案: 多ha ...

  2. Docker Swarm 高可用详解

    Docker Swarm 高可用详解 Manager管理节点宕机后其他管理节点仍然可以使用管理 intermal distributed state store:内部分布式状态存储同步共享到每个节点. ...

  3. Docker Kubernetes 高可用架构设计

    Docker Kubernetes 高可用架构设计 官方方案:保证master端不发生单点故障. 官方使用一台Load Balancer负载均衡代理3台master端,终端与etcd与work Nod ...

  4. docker仓库之harbor高可用 (三)

    基于上一篇部署完成了企业级仓库harbor的部署,今天我们来聊聊什么是harbor的高可用 Harbor 支持基于策略的 Docker 镜像复制功能,这类似于 MySQL 的主从同步,其可以实现不同的 ...

  5. harbor高可用集群配置

    目录 说明 双主复制 主从同步 双主复制说明 多harbor实例共享后端存储 方案说明 环境说明 配置说明 安装redis和mysql 导入registry数据库 配置harbor 挂载nfs目录 修 ...

  6. Harbor高可用理论及实践(汇聚篇)

    目录 一.理论概述 什么是harbor harbor要解决的问题 有了docker自带的registry为什么还要用harbor harbor的架构组件 Harbor工作原理 二.部署harbor及其 ...

  7. docker——Etcd高可用键值对数据库

    一.简介 Etcd按照官方介绍: Etcd is a distributed, consistent key-value store for shared configuration and serv ...

  8. Harbor高可用

    项目需求: 实现Harbor的HTTPS高可用,由于Harbor 服务器配置不高,直接做HTTPS对上传下载镜像时,若docker客户端多时,会非常慢,为了提高harbor的效率,采用以下方式来解决. ...

  9. harbor高可用集群搭建

    高可用harbor集群搭建 一.安装部署 1.节点角色 角色 数量 名称 备注 harbor主节点 2 harbor-1 harbor-2 双主模式 haproxy 2 HA-1 HA-2 需要通过k ...

随机推荐

  1. 【SDOI2017】天才黑客(前后缀优化建图 & 最短路)

    Description 给定一张有向图,\(n\) 个点,\(m\) 条边.第 \(i\) 条边上有一个边权 \(c_i\),以及一个字符串 \(s_i\). 其中字符串 \(s_1, s_2, \c ...

  2. JWT-配置与使用

    1.jwt的安装配置 . 1.1安装JWT pip install djangorestframework-jwt==1.11.0 1.2 settings.py配置jwt载荷中的有效期设置 # jw ...

  3. Day8 python高级特性-- 迭代 Iteration

    通过for循环来遍历 list.tuple.dict.甚至是字符串,这种遍历被称为迭代. 相比于C的for循环, Python的for循环抽象成都更好,不仅可以用在list或tuple上,还可以用在其 ...

  4. mysqldump: [ERROR] unknown variable 'database=test'.

    背景: 导出数据库test库的test表数据出现报错信息:mysqldump: [ERROR] unknown variable 'database=test'. 原来是my.cnf参数文件配置了以下 ...

  5. Java各版本新增特性, Since Java 8

    Java各版本新增特性, Since Java 8 作者:Grey 原文地址: Github 语雀 博客园 Java 8 Reactor of Java 这一章来自于<Spring in Act ...

  6. Boost.JSON Boost的JSON解析库(1.75首发)

    目录 目录 Boost的1.75版本新库 JSON库简介 JSON的简单使用 编码 最通用的方法 使用std::initializer_list json对象的输出 两种对比 解码 简单的解码 增加错 ...

  7. svn 忘记了用户名和密码

    [SVN]如果windows用户忘记了svn的用户名和密码怎么办?   如果windows用户忘记了svn的用户名和密码怎么办? 1>你得进入默认地址 C:\Users\Administrato ...

  8. 第 13 章 StringTable详解

    目录 第 13 章 StringTable 1.String 的基本特性 1.1.String 概述 1.2.String 的基本特征 1.3.String 的底层结构 2.String 的内存分配 ...

  9. 关于 ReentrantLock 中锁 lock() 和解锁 unlock() 的底层原理浅析

    关于 ReentrantLock 中锁 lock() 和解锁 unlock() 的底层原理浅析 如下代码,当我们在使用 ReentrantLock 进行加锁和解锁时,底层到底是如何帮助我们进行控制的啦 ...

  10. 制作3D小汽车游戏(上)

    之前一段时间家里和公司的事太多,一直没有时间写博客,最近腾出一段时间,看了一遍官方的examples,收货颇多,想整理一点东西出来,又苦于没有好的东西,three写点东西真是太难了.好吧,今天郭先生就 ...