keepalived在之前的博客详细讲解过,在这一篇就不详细讲解了
见到说明即可
keepalived是基于VRRP协议实现的保证集群高可用的一个服务软件,主要功能是实现真机的故障隔离和负载均衡器间的失败切换,防止单点故障。
将keepaliver和haproxy结合起来,使用saltsack自动部署
在我关于saltsack自动化运维相关的博客中,自动部署了nginx、apache、haproxy,基于他们的基础上,再添加一台主机,将keepalived和haproxy结合起来。
添加server5:172.25.60.5,将其安装salt-minion,并与server1连接起来
具体操作查看我的上一篇博客
重点:首先确定server1能跟其他4个主机相连
开始部署:
keepalived也可以使用源码安装,由于nginnx使用过源码安装,所以以此类推,keepalived的源码安装之后可以尝试
keepalived-install:
pkg.installed:
- pkgs:
- keepalived
安装成功后,必定生成配置文件,将server4上的配置文件拷贝到files里面
修改完配置文件,打开keepalived服务
include:
- keepalived.install
/etc/keepalived/keepalived.conf:
file.managed:
- source: salt://keepalived/files/keepalived.conf
- template: jinja
{% if grains['fqdn'] == 'server4' %}
- STATE: MASTER
- PRIORITY: 100
{% elif grains['fqdn'] == 'server5' %}
- STATE: BACKUP
- PRIORITY: 50
{% endif %}
keepalived-service:
service.running:
- name: keepalived
- repolad: true
- watch:
- file: /etc/keepalived/keepalived.conf
进行全局推送,可以看到server4和server5上都有haproxy和keepalived
推送结果,可以看到每台主机上的操作
keppalived的部署结束
现在查看部署结果
根据上面的设置,server4为主节点,server5为备节点
在 server4上查看到vip,server5上没有
通过浏览器访问:轮询成功
当server4(主节点)上的keepalived宕掉,再次查看vip,会发现vip跑到了server5上,server5(备节点)上线
而浏览器访问的内容没有卡顿,依旧可以访问
当主节点的keepalived起来之后,vip再次回到主节点
而浏览器不受其影响,实现了高可用。