1)把在这个目录,编写配置文件
[admin@master files]$ pwd
/srv/salt/prod/cluster/files
~~~
[admin@master files]$ sudo vim haproxy_outside_keepalived.conf
global_defs {
notification_email {
test@163.com
}
notification_email_from keepalived@example.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
route_id {{ROUTERID}}
}
vrrp_instance haproxy_ha {
state {{STATEID}}
interface eth0
virtual_router_id 36
priority {{PRIORITYID}}
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.2.11.170
}
}
~
~~~
2)编写sls
~~~
[admin@master cluster]$ cat haproxy-outside-keepalived.sls
include:
- keepalived.install
keepalived-service:
file.managed:
- name: /etc/keepalived/keepalived.conf
- source: salt://cluster/files/haproxy_outside_keepalived.conf
- user: root
- group: root
- mode: 644
- template: jinja
{% if grains['fqdn'] == 'proxy01.test.com' %}
- ROUTERID: haproxy_ha
- STATEID: MASTER
- PRIORITYID: 120
{% elif grains['fqdn'] == 'proxy02.test.com' %}
- ROUTERID: haproxy_ha
- STATEID: BACKUP
- PRIORITYID: 100
{% endif %}
service.running:
- name: keepalived
- enable: True
- watch:
- file: keepalived-service
~~~
3)编写top.sls文件
~~~
[admin@master base]$ sudo vim top.sls
base:
"*":
- init.env_init
prod:
"proxy01.test.com":
- cluster.haproxy-outside
- cluster.haproxy-outside-keepalived
"proxy02.test.com":
- cluster.haproxy-outside
- cluster.haproxy-outside-keepalived
~~~
4)执行状态
[admin@master base]$ sudo salt 'proxy*' state.highstate
Summary
-------------
Succeeded: 48 (changed=7)
Failed: 0
-------------
Total states run: 48
5)查看
[admin@proxy01 ~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:e7:11:63 brd ff:ff:ff:ff:ff:ff
inet 10.2.11.207/24 brd 10.2.11.255 scope global eth0
inet 10.2.11.170/32 scope global eth0
inet6 fe80::5054:ff:fee7:1163/64 scope link
valid_lft forever preferred_lft forever
然后我们测试把proxy01的keepalived停掉
[admin@proxy01 ~]$ sudo service keepalived stop
Stopping keepalived: [ OK ]
在查看
[admin@proxy02 ~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:4f:3a:45 brd ff:ff:ff:ff:ff:ff
inet 10.2.11.206/24 brd 10.2.11.255 scope global eth0
inet 10.2.11.170/32 scope global eth0
inet6 fe80::5054:ff:fe4f:3a45/64 scope link
valid_lft forever preferred_lft forever
- 第一章:saltstack的基本介绍
- 第二章:saltstack的安装部署
- 第一节:在centos7系统上安装saltstack工具
- 第二节:在windows server 2008上安装salt-minion
- 第三章: saltstack的配置管理
- 第一节:salt-master配置
- 第二节:salt-minion配置
- 第三节:了解YAML
- 第四节:salt-master配置文件详解
- 第五节:了解Jinja2
- 第六节:配置普通用户可以运行saltstack的模块
- 第四章:远程执行
- 第一节:远程执行基础介绍
- 第二节:目标定位
- 一、全局及正则表达式匹配
- 二、列表匹配
- 三、Grains
- 四: Pillar
- 五:subnet and ip
- 六:组合匹配
- 七: node group
- 第三节:常用模块
- 一、查看帮助
- 二、Network模块
- 三、Service模块
- 四:State模块
- 五、Cron模块
- 六、File模块
- 七、iptables模块
- 八、pkg包管理
- 第四节:Salt其他命令
- 一、salt-cp(拷贝文件)
- 二、salt-ssh
- 三、salt-key
- 第五节:saltstack返回程序
- 第一节:返回保持到数据库(mysql)
- 第五章:配置管理
- 第一节:简单入门
- 第二节:状态间关系
- 第六章:数据系统
- 第一节:grains
- 第二节:pillar
- 第七章:saltstack配置管理
- 第一节:系统初始化操作
- 第二节:功能模块
- 一、haproxy模块
- 二、keepalived模块
- 三、nginx模块
- 四: pcre模块
- 五: zlib模块
- 六:user模块
- 七:php模块
- 第三节:业务模块
- 第一节:haproxy代理
- 第二节:keepalived业务
- 第八章:自动化管理工具saltstack
- 第一节:文件管理
- 第二节:软件管理
- 第三节:服务管理
- 第四节:sysctl模块管理