环境说明:

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. 计算机网络——HTTP知识点整理

    1.HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少.它 ...

  2. rocketMq指定broker ip地址,适合解决云主机部署问题

      在工作中遇到了一个这个问题,就是我们rocketmq是部署在云主机上的 但是我们的开发同事在自己的电脑连接rocketmq链接不上 报错显示Caused by: org.apache.rocket ...

  3. 移动端H5微信分享

    移动端H5微信分享功能,可以使项目更好地传播. 微信官方教程文档:  微信JS-SDK说明文档 步骤一:绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置&quo ...

  4. Hyper-v 虚拟机使用NAT方式连接网络

    最近因为搞docker的原因,卸掉了vb和vm,用上了hyper. 其实一直挺喜欢hyper-v的,但是一直都受虚拟网络的影响--hyper-v创建不了vm和vb使用的那种NAT连接方式. 默认使用外 ...

  5. css进阶 02-CSS布局

    02-CSS布局 #前言 #常见的布局属性 (1)display 确定元素的显示类型: block:块级元素. inline:行内元素. inline-block:对外的表现是行内元素(不会独占一行) ...

  6. vue第十四单元(认识单页面应用,理解vue-router的基本用法)

    第十四单元(认识单页面应用,理解vue-router的基本用法) #课程目标 1.了解单页应用与多页应用以及各自的优缺点 2.掌握路由如何实现单页应用 3.精通路由的基本语法 #知识点 #一.单页应用 ...

  7. Flink批处理读取Hive写入MySql

    把hive 表stu77 的数据写入 mysql 表test_stu 中. 中间可以加自己的逻辑. import org.apache.flink.table.api.EnvironmentSetti ...

  8. Flink如何做维表关联?

    使用 RichAsyncFunction 加 CacheBuilder CacheBuilder.newBuilder() //最多存储10000条 .maximumSize(10000) //过期时 ...

  9. 2020软件测试工程师面试题汇总(内含答案)-看完BATJ面试官对你竖起大拇指!

    测试技术面试题 1.什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台.软件平台上是否可以正常的运行,即是通常说的软件的可移植性. 兼容的类型,如果细分的话 ...

  10. 在python中元组与列表的区别及序列解包

    一. 元组与列表的区别 元组中的数据一旦定义就不允许更改. 元组没有append().extend()和insert()等方法,无法向元组中添加元素. 元组没有remove()或pop()方法,也无法 ...