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]