在Docker上部署2台节点,利用Keeplived实现双节点VIP 高可用,不需要关闭Keeplived,实现vip来回切换。

前言:

   keeplived的做高可用网上有很多例子,但是都存在这样那样的问题,比如:

      1.使用的是默认抢占式,这样在主节点恢复后,又会将VIP 漂移回到主节点上,因此需要使用非抢占式模式,故障恢复时,可避免 VIP 切换造成的服务延迟

      2.使用的是默认组播,信息都会向默认的224.0.0.18的组播地址发送,这样会产生众多的无用信息,这对于有多个keepalived实例时甚至会产生干扰和冲突,因此须要将组播模式改成单播模式是一种安全的做法,可以避免局域网内有大量的keepalived形成虚拟路由id的冲突

      3.大部分网上案例 VIP 切换,是通过关闭keeplived进程来控制,因此,需要在检测监控脚本里面增加关闭 keepalived 进程的脚本流程,然后当恢复后还需要手动启动 keepalived服务,不可以重复执行。而VRRP(虚拟路由冗余协议)早就包含了主动切换,失效性,可靠性更高的方案在里面,通过自主选举模式,压根不需要通过关闭进程,就可以实现VIP 切换,甚至可以做到来回反复切换。

1.准备好docker环境

      无所谓宿主机是什么系统,安装好docker,能连接上外网即可,本人用的是Windows宿主机。

 2.构建2个liunx 系统运行环境

a.拉取基础镜像: 

docker pull centos:7.7.1908

 b.运行起来镜像,一定要添加: --privileged=true ,不然无法后台运行服务。

sudo docker run -it --privileged=true --name centos_01 f1cb7c7d58b7

  c.进入到容器后,安装keepalived 和 nginx, 最终生成基础运行镜像。

你可能感兴趣的:(技术,分布式,服务器,进阶,服务器,docker,容器,运维)