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