harbor +keepalived实现高可用,k8s集群指定VIP地址拉取镜像即可

k8s集群ip规划

harbor1:192.168.8.170

harbor2:   192.168.8.160

基于keepalived实现两台harbor的高可用方案。事先在每台主机上面都写上hosts文件

一:

做harbor1复制

系统管理 > 复制管理 > 新建规则 

cron string 我设置的是1分钟复制一次,大家可以根据自己的选择时间。

harbor2一样的步骤,记得把目录仓库改成harbor1的主机名和ip地址。

二:

在每台harbor上面都安装keepalived

yum install keepalived -y 

安装完之后修改配置文件 /etc/keepalived/keepalived.conf

harbor1:   

vim /etc/keepalived/keepalived.conf

harbor2:   

vim /etc/keepalived/keepalived.conf

探测脚本 check_harbor.sh放在/etc/keepalived目录下面

check_harbor.sh 文件内容:

写完 wq保存,chmod +x check_harbor.sh  加执行权限。

三: 

在每台harbor上面都启动keepalived

systemctl start keepalived  && systemctl enable keepalived

ip addr 查看ens33网卡下面有没有自己设定的VIP地址。之后关掉harbor1上面的keepalived测试VIP会不会漂移到harbor2上面。

四: 

k8s集群基于漂移地址8.99拉取镜像

做这个操作之前先把每台节点的containerd配置文件修改一下

/etc/containerd/config.toml

将图中标记的四个地方换成harbor漂移地址

修改完之后保存退出重启containerd :    systemctl  restart containerd

在每台节点都在/etc/docker/daemon.json文件中加入harbor漂移地址的ip。

创建pod进行测试

kubectl apply -f pod.yaml  创建pod

kubectl get pod                 查看pod

可以看到harbor-ha的pod已经成功创建出来了,并且status是running

kubectl describe pod harbor-ha  查看详细信息

可以看到成功是从8.99上面拉取的镜像并且创建的contianer

猜你喜欢

转载自blog.csdn.net/weixin_63294004/article/details/142583835