使用SaltStack部署keepalived
cd /srv/salt
mkdir keepalived
cd keepalived
vim init.sls
install-keepalived:
pkg.installed:
- name: keepalived
salt '*' state.sls keepalived #先让server2和server3安装keepalived
scp server2:/etc/keepalived/keepalived.conf .
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 MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.43.100
}
}
vim init.sls
install-keepalived:
pkg.installed:
- name: keepalived
file.managed:
- name: /etc/keepalived/keepalived.conf
- source: salt://keepalived/keepalived.conf
service.running:
- name: keepalived
- reload: true
- watch:
- file: install-keepalived
salt server2 state.sls keepalived
cat /var/log/message #查看server2上的日志
但是现在有个问题,我们当前编辑的都只是master端的部署信息,而backup端和master端的的配置有些许差别,那么如何能够在一个配置文件中,让他完成master和backup的配置信息呢?这里其实就可以用我们之前学到的jinja模板,通过变量的方式来获取到不同的值,这样就能够在一个配置文件中完成master和backup的配置了
vim keepalived.conf
cd /srv/pillar/
vim web.sls
salt '*' state.sls keepalived
做个小测试
在server2上停掉keepalived
systemctl stop keepalived
在server3上查看其日志
cat /var/log/message
还有另外一种方法,就是不引用pillar的变量,可以直接在init.sls中书写变量