saltstack部署keepalived的高可用

我们之前学习了saltstack的一些基本的用法,那么我们就在本章来推送一个keepalived的高可用,实现http和nginx的高可用

1.在master的/srv/salt下建立keepalived目录,进到目录里边编辑安装keepalived的sls推送文件

[root@server1 salt]# mkdir keepalived
[root@server1 salt]# cd keepalived/
[root@server1 keepalived]# vim install.sls
kp-install:
  pkg.installed:
    - pkgs:
      - keepalived
  file.managed:
    - name: /etc/keepalived/keepalived.conf
    - source: salt://keepalived/files/keepalived.conf
    - template: jinja
      {% if grains['fqdn'] == 'server2' %}        # server1是master
      STATE: MASTER
      VRID: 51
      PRIORITY: 100
      {% elif grains['fqdn'] == 'server3' %}      # server2是backup
      STATE: BACKUP
      VRID: 51
      PRIORITY: 50
      {% endif %}

  service.running:
    - name: keepalived
    - reload: True
    - watch:
      - file: kp-install

[root@server1 keepalived]# mkdir files
[root@server1 keepalived]# ls
files  install.sls
[root@server1 keepalived]# cd files/
[root@server1 files]# ls
keepalived.conf		这里的文件我们可以在别的主机上安装keepalived,然后将这个配置文件复制过来
[root@server1 files]# vim keepalived.conf 
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost
   }
   notification_email_from keepalived@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state {{ STATE }}
    interface eth0
    virtual_router_id {{ VRID }}
    priority {{ PRIORITY }}
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
	172.25.66.100
    }
}

2.编写全部节点推送的文件top.sls

base:
  'roles:apache':
    - match: grain
    - keepalived.install
    - apache.service
  'roles:nginx':
    - match: grain
    - keepalived.install
    - nginx.service

3.高级推送
在这里插入图片描述
4.测试高可用
server2:在这里插入图片描述
我们可以看到有vip
然后我们停掉server2的keepalived
在这里插入图片描述
server3:
在这里插入图片描述
我们可以发现vip漂到了server3上,高可用推送成功

猜你喜欢

转载自blog.csdn.net/weixin_42446031/article/details/92799293