10.saltstack配置管理-业务模块-keepalived

业务引用之keepalived

    同haproxy业务引用一样,我们同样在cluster目录下进行。


编写salt文件:

    salt文件涉及到keepalived的安装的引用;每个节点的具体参数如何这里主要通过编写jiaja模版来实现每个节点参数的差异性。通过grains的fqdn来判断不同的主机名,实现不同主机不同参数。
在cluster目录编辑:
[root@salt-master ~]# cat /srv/salt/prod/cluster/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'] == 'centos-test1' %}
    - ROUTEID: haproxy_ha
    - STATEID: MASTER
    - PRIORITYID: 150
    {% elif grains['fqdn'] == 'centos-test2' %}
    - ROUTEID: haproxy_ha
    - STATEID: BACKUP
    - PRIORITYID: 100
    {% endif %}
  service.running:
   - name: keepalived
   - enable: True
   - watch:
     - file: keepalived-service


keepalived差异性配置文件:

   在keepalived安装脚本中,我们为了能够启动keepalived服务,我们在两个节点上都下发相同的keepalived配置文件,这次为了实现每个节点上的keepalived去配置不同的参数,需要下发一份差异性配置文件。

[root@salt-master ~]# cat /srv/salt/prod/cluster/files/haproxy-outside-keepalived.conf
! Configuration File for keepalived
global_defs {
  notification_email {
    saltstack@example.com
  }
  notification_email_from keepalived@example.com
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id {{ROUTEID}}
}
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 {
    192.168.91.100
  }
}



编写top文件:

将业务引用模块keepalived的haprox-outside-keepalived导入。
[root@salt-master ~]# vi /srv/salt/base/top.sls
base:
  '*':
    - init.env_init
prod:
  'salt-master.2018.com':
    - cluster.haproxy-outside
    - cluster.haproxy-outside-keepalived
  'salt-minion.2018.com':
    - cluster.haproxy-outside
    - cluster.haproxy-outside-keepalived


    
    
    

    
    
    
查看文件结构:    
[root@salt-master ~]# tree /srv/salt/
/srv/salt/
├── base
│   ├── init
│   │   ├── audit.sls
│   │   ├── dns.sls
│   │   ├── env_init.sls
│   │   ├── files
│   │   │   └── resolv.conf
│   │   ├── history.sls
│   │   └── sysctl.sls
│   └── top.sls
├── prod
│   ├── cluster
│   │   ├── files
│   │   │   ├── haproxy-outside.cfg
│   │   │   └── haproxy-outside-keepalived.conf
│   │   ├── haproxy-outside-keepalived.sls
│   │   └── haproxy-outside.sls
│   ├── haproxy
│   │   ├── files
│   │   │   ├── haproxy-1.7.11.tar.gz.tar
│   │   │   └── haproxy.init
│   │   └── install.sls
│   ├── keepalived
│   │   ├── files
│   │   │   ├── keepalived-1.4.4.tar.gz
│   │   │   ├── keepalived.conf
│   │   │   ├── keepalived.ini
│   │   │   └── keepalived.sysconfig
│   │   └── install.sls
│   └── pkg
│       └── pkg-init.sls
└── test

12 directories, 20 files    
    
    
    
    
    
    
    
    
通过salt高级模式执行:
[root@salt-master ~]# salt '*' state.highstat
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值