liuhongyu 发表于 2018-8-1 06:44:29

Saltstack 安装和配置

1.设置epel 源  
rpm -Uvh http://mirror.pnl.gov/epel/6/x86_64/epel-release-6-8.noarch.rpm
  

  
安装前需要安装这些包
  
Python 不用说大家都知道 这玩意就python写的
  
ZeroMQ 消息中间件相当于puppet的rabbitMQ、activeMQ
  
PyCryptoPython密码工具包
  
M2Crypto    加密模块 是Python OpenSSL封装
  
msgpack-python 高性能的消息交换格式
  
YAML    不说大家都知道 文件格式
  
Jinja2    解析Salt States (在master配置文件中配置)
  
MarkupSafe    Implements a XML/HTML/XHTML Markup safe string for Python
  

  

  

  
2.安装master 17.0.5版本,首先要安装好本地源码
  
#yum install python-jinja2
  
#yum install salt-master
  

  

  
3.安装minion 17.0.5版本
  
#yum install python-jinja2
  
#yum install salt-minion
  

  

  

  

  
4.启动master
  
#/etc/rc.d/init.d/salt-master start
  

  
minion
  
/etc/rc.d/init.d/salt-minion start
  

  

  

  

  

  

  

  

  
配置
  
salt-master
  
# vi /etc/salt/master
  
interface: master IP
  

  

  
sal-minion
  
#vi /etc/salt/minion
  
master: master IP'
  

  

  

  
认证
  
salt-key-L            #查询所有接收到的证书
  
salt-key-a <证书名>   #接收单个证书
  
salt-key-A            #接受所有证书
  
salt-key-d <证书名>   #删除单个证书
  
salt-key-D            #删除所有证书
  
#salt-key -L
  
#salt-key -a minion IP
  
#
  

  
测试
  
salt "*" test.ping
  
10.0.251.210:
  
    True
  

  

  

  

  

  
分组:
  

  
#vi /etc/salt/master
  

  
nodegroups:
  
test1: 'L@10.0.251.210'
  

  

  

  
# salt -N 'test1' test.ping
  

  

  

  
#vi /etc/salt/master
  

  
file_roots:
  
base:
  
    - /srv/ops/salt
  

  

  
pillar_roots:
  
base:
  
    - /srv/ops/pillar
  

  
lab:
  
    - /srv/ranger/pillar/lab
  
prod:
  
    - /srv/ranger/pillar/prod
  
dev:
  
    - /srv/ranger/pillar/dev
  

  

  

  

  
Grains系统
  
6.1grains系统概念
  
grains是minion第一次启动的时候采集的静态数据,可以用在salt的模块和其他组件中。其实grains在每次的minion启动(重启)的时候都会采集,即向master汇报一次。
  
grains的特性–每次启动汇报、静态决定了它没有pillar灵活,要知道pillar是随时可变的,只要在master端修改了那一般都会立刻生效的。所以grains更适合做一些静态的属性值的采集,例如设备的角色(role),磁盘个数(disk_num)等诸如此类非常固定的属性。
  

  

  
State系统
  
state系统概念
  
Salt State系统的核心是由sls结尾的state文件组成的,配置简单而且灵活,SLS文件本质上只是一些dictionaries,lists,strings和numbers。这种设计让SLS文件非常灵活,可以满足开发者的各种需求,而且可读性很高。写得越多,就越清楚到底写得是什么。
  
7.2state系统配置
  
首先需在master配置文件中打开state系统,定义state目录路径
  
# cat /etc/salt/master
  
==================================================================================
  
...略...
  
file_roots:                                                               state系统
  
base:                                                                      base代表基础环境
  
- /srv/salt                                                                  state系统根目录路径
  
...略...
  
==================================================================================
  
Salt默认使用能找到的最简单的序列化数据格式——YAML,来表达SLS数据。典型的SLS文件如下:
  
# cat /srv/ops/salt/apache.sls
  
==================================================================================
  
httpd:                        数据的ID,被称作ID声明
  
   pkg:                         pkg使用系统本地的软件包管理器管理将要安装的软件,如yum
  
   - installed
  
==================================================================================
  
7.3执行state配置
  

  
执行state配置
  
# salt ‘client’ state.sls apache
  
注解:
  
state.sls                表示执行state配置
  
apache               执行apache.sls的state配置,注意这里不需要sls后缀,可看做是/srv/salt/apache.sls
页: [1]
查看完整版本: Saltstack 安装和配置