saltstack自动化运维---pillar,keepalived

pillar

pillar和grains一样也是一个数据系统,但是应用场景不同。
pillar是将信息动态的存放在master端,主要存放私密、敏感信息(如用户名密码等),而且可以指定某一个minion才可以看到对应的信息。
pillar更加适合在配置管理中运用。

实验前查看是否建立连接:

salt '*' test.ping
lsof -i :4505

在这里插入图片描述

mkdir /srv/pillar

vim top.sls
base:
  '*':
    - package
vim package.sls

{% if grains['fqdn'] == 'server3' %}
package: httpd
{% elif grains['fqdn'] == 'server2' %}
package: mairadb
{% endif %}
salt '*' pillar.items

在这里插入图片描述

salt '*' saltutil.refresh_pillar
salt '*' pillar.items package
salt -I package:httpd test.ping

在这里插入图片描述


vim /srv/pillar/package.sls

{% if grains['fqdn'] == 'server3' %}
package: nginx
{% elif grains['fqdn'] == 'server2' %}
port: 80
bind: 192.168.3.202
{% endif %}
vim /srv/salt/apache/init.sls
apache:
  pkg.installed:
   - pkgs:
     - httpd
     - php
     - php-mysql
  file.managed:
    - source: salt://apache/files/httpd.conf
    - name: /etc/httpd/conf/httpd.conf
    - template: jinja
    - context:
      port: {{ pillar['port'] }}
      bind: {{ grains['ipv4'][-1] }}

  service.running:
    - name: httpd
    - enable: true
    - watch:
      - file: apache

在这里插入图片描述

改变httpd端口

vim /srv/salt/apache/lib.sls
{% set port = 8080 %}
vim /srv/salt/apache/files/httpd.conf

{% from 'apache/lib.sls' import port %}
Listen {{ bind }}:{{ port }}

在这里插入图片描述
测试:

salt server2 state.sls apache

在这里插入图片描述
在这里插入图片描述


keepalived

添加虚拟ip

cd /srv/salt/
mkdir keepalived
cd keepalived

vim init.sls

kp-install:
  pkg.installed:
    - name: keepalived
安装:
salt server2 state.sls. keepalived
vim /srv/pillar/package.sls
{% if grains['fqdn'] == 'server3' %}
package: nginx
state: BACKUP
vrid: 51
pri: 50
{% elif grains['fqdn'] == 'server2' %}
port: 80
bind: 192.168.3.202
state: MASTER
vrid: 51
pri: 100
{% endif %}

在这里插入图片描述

mkdir /srv/salt/keepalived/files
cd /srv/salt/keepalived/files
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_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state {{ STATE }}
    interface eth0
    virtual_router_id {{ VRID }}
    priority {{ PRI }}
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.3.100
    }
}
vim /srv/salt/top.sls
base:
 'roles:apache':
   - match: grain
   - apache
   - keepalived
 'roles:nginx':
   - match: grain
   - nginx
   - keepalived

测试:

salt '*' state.highstate

在这里插入图片描述

在这里插入图片描述
访问此ip

把之前改的httpd端口恢复为80

vim /srv/salt/apache/files/httpd.conf
删除之前在第一行所添加的内容
Listen {{ port }}

在这里插入图片描述

vim /srv/salt/apache/init.sls
/var/www/html/index.html:
  file.managed:
    - source: salt://apache/files/index.html
    - template: jinja
    - context:
      NAME: {{ grains['ipv4'][-1] }}

在这里插入图片描述
在这里插入图片描述

[root@server1 apache]# salt '*' state.highstate
[root@server1 apache]# curl 192.168.3.202
[root@server1 apache]# salt server2 grains.item ipv4

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值