1.设置epel 源 rpm -Uvh http://mirror.pnl.gov/epel/6/x86_64/epel-release-6-8.noarch.rpm 安装前须要安装这些包 Python 不用说你们都知道 这玩意就python写的 ZeroMQ 消息中间件至关于puppet的rabbitMQ、activeMQ PyCrypto Python密码工具包 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.1 grains系统概念 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.2 state系统配置 首先需在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