SaltStack_00_基本操作


0x00 背景

OS : CentOS 7
SaltStack : 2015.5.10 (Lithium)


0x01 基础环境安装
  • 按照官方文档(yum方式安装)
  • 首先安装EPEL
sudo rpm -Uvh epel-release-latest-7.noarch.rpm
  • 安装salt-master
sudo yum install salt-master
  • 安装salt-minion
sudo yum install salt-minion
  • 配置开机自启,并启动salt-master
sudo systemctl enable salt-master
sudo systemctl enable salt-minion
sudo systemctl start salt-master
  • 配置salt-minion
sudo vim /etc/salt/minion
master:x.x.x.x
  • 启动salt-minion
sudo systemctl start salt-minion
  • master添加minion
sudo salt-key
sudo salt-key -A

0x02 执行命令
  • 一般命令
sudo salt '*' cmd.run 'ifconfig'
  • 通过配置文件执行
sudo vim /etc/salt/master
file_roots:
  base:
    - /srv/salt

apache-install:
  pkg.installed:
    - names:
      - httpd
      - httpd-devel
sudo vim apache.sls
apache-service:
  service.running:
    - name: httpd
    - enable: True
    - reload: True

sudo salt '*' state.sls apache

在有入口文件top.sls时可以使用

sudo salt '*' state.highstate

直接调用top.sls

base:
  '*':
    - apache

例子是调用apache.sls


0x03 数据系统Grains & Pillar
  • Grains
sudo salt '*' grains.items

sudo salt 'linux-node1*' grains.get fqdn_ip4

sudo salt '*' grains.get os

sudo salt -G os:CentOS cmd.run 'last'

sudo vim /etc/salt/minion
grains:
  roles:
    - webserver
    - memcache

systemctl restart salt-minion.service 
sudo salt -G 'roles:memcache' cmd.run 'ifconfig'

sudo vim /etc/salt/grains
web: nginx

systemctl restart salt-minion.service
sudo salt -G 'web:nginx' cmd.run 'ifconfig'
  • Pillar
sudo vim /etc/salt/master
pillar_roots:
  base:
    - /srv/pillar
......
pillar_opts: False

systemctl restart salt-master.service

sudo vim /srv/pillar/apache.sls
{% if grains['os'] == 'CentOS' %}
apache: httpd
{% elif grains['os'] == 'Debian' %}
apache: apache2
{% endif %}

sudo vim /srv/pillar/top.sls
base:
  '*':
    - apache

sudo salt '*' saltutil.refresh_pillar
sudo salt -I 'apache:httpd' test.ping
sudo salt '*' pillar.items
  • 对比

    名称存储位置数据类型数据采集更新方式应用
    GrainsMinion端静态数据Minion启动时收集,也可以使用saltutil.sync_grains进行刷新.存储Minion基本数据.比如用于匹配Minion,自身数据可以用来做资产管理等.
    PillarMaster端动态数据在Master端指定给对应的Minion,可以使用saltutil.refresh_pillar刷新存储Master指定数据,只有指定的Minion可以看到,用于敏感数据保存.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值