Harbor域名切换解决方案

Harbor域名切换解决方案

环境如下
都要安装好Harbor,安装不会的:
https://blog.youkuaiyun.com/weixin_45308292/article/details/107248788

安装的时候,关于那个Harbor配置文件,如果没有特殊(例如主机有很多提供服务的网卡),harbor.conf 里面,hostname 项写自己主机IP就行,亲测可行
在这里插入图片描述

主机名角色IP
mastermaster192168.1.11
ord_slaveslave192.168.1.12
new_slaveslave192.168.1.13

前言

公司采用主从方案,ord_slave,存储不够了,需要切换new_slave为slave,为什么不用两个slave呢,因为这个slave是另一个机房的master,所以只能替换

但是总maste(192.168.1.11) 推送时候slave域名对应的IP是ord_slave的,需要切换域名映射的IP为new_slave的IP

这里去测试,域名切换new_slave(新)的IP,正常么,再测试回退域名到老IP否正常

1)先把域名映射到老仓库

这个Habror的容器不太一样,一般容器启动会把本宿主机/etc/resolv.conf(dns),挂进去,这样在容器启动之前,修改宿主机/etc/resolv.conf就可以,但是Harbor相关容器不会,所以修改所有Harbor容器hosts实现,当然改resolv.conf也可以

下面操作在master主机执行
vim hosts.sh 
#!/bin/bash
a=$(docker ps | grep harbor | awk '{print $1}')
for i in $a
do
        docker exec -i  $i  /bin/bash << EOF
        cat /etc/hosts  | grep -v www > /etc/hosts
        echo "192.168.1.12 www.ajbn.net" >> /etc/hosts
EOF
done
sh hosts.sh 

2)访问创建项目,测试并推送到域名(老仓库)

1.创建项目

如何上传和创建项目,我这篇博客下面有,这里不阐述
https://blog.youkuaiyun.com/weixin_45308292/article/details/107248788

访问 http://192.168.1.11
创建一个ord_slave项目
在这里插入图片描述
上传镜像,master主机操作

docker tag goharbor/chartmuseum-photon:v0.8.1-v1.7.5  192.168.1.11/ord_slave/test1:v1
docker push 192.168.1.11/ord_slave/test1:v1 

在这里插入图片描述

2.添加域名(对应ord_slaveIP)

master上操作
在这里插入图片描述

3.推送到老仓库

master操作
在这里插入图片描述

4.查看

http://192.168.1.12
在这里插入图片描述

3)切换域名到新仓库

master主机上操作

注意域名对应IP,我改成new_slave的了

vim hosts.sh 
#!/bin/bash
a=$(docker ps | grep harbor | awk '{print $1}')
for i in $a
do
        docker exec -i  $i  /bin/bash << EOF
        cat /etc/hosts  | grep -v www > /etc/hosts
        echo "192.168.1.13 www.ajbn.net" >> /etc/hosts
EOF
done
sh hosts.sh

4)推送镜像到新仓库

为了还原真实环境,我们不进行创建新的项目,还用上面创建的项目

http://192.168.1.13
可以看到不会自动推送,需要我们手动去推送
在这里插入图片描述

回到 http://192.168.1.11 中,手动推送

在这里插入图片描述

到http://192.168.1.13 查看 ,成功

在这里插入图片描述

5)测试回滚到ord_slave

master主机上操作,IP切换
vim hosts.sh 
#!/bin/bash
a=$(docker ps | grep harbor | awk '{print $1}')
for i in $a
do
        docker exec -i  $i  /bin/bash << EOF
        cat /etc/hosts  | grep -v www > /etc/hosts
        echo "192.168.1.12 www.ajbn.net" >> /etc/hosts
EOF
done
sh hosts.sh 
因为原来的项目已经有了,创建一个新的来测试

http://192.168.1.11
在这里插入图片描述

master主机上操作, 上传镜像
docker tag goharbor/registry-photon:v2.6.2-v1.7.5 192.168.1.11/ord_slave_2/test1:re
docker push 192.168.1.11/ord_slave_2/test1:re
master添加复制规则

在这里插入图片描述

6)查验结果

http://192.168.1.12
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值