saltstack安装及使用


服务安装和启动:

yum 安装客户端和服务器,启动客户端前需要指定master主机或者配置hosts

salt-minion -l debug #调试模式启动


master:

salt-key -L 查看未授权的主机


salt-key -A 接收所有主机


指定输出格式:

salt '*' --out=json cmd.run hostname

salt ‘*’ --out=yaml cmd.run hostname

salt '*’ --out=txt cmd.run hostname



配置文件,文件服务操作 :

# Example:

 file_roots:

   base:

     - /srv/salt/



vim /srv/salt/top.sls:

base:

‘*’ #对象

-apache  #可以是目录,也可以是apache.sls


vim /srv/salt/apache/init.sls


httpd:

   pkg:

        - installed



salt ‘*’ state.sls apache              


salt命令  节点名 模块 参数   





同步文件:

mkdir -p /srv/salt/apache/files

vim /srv/salt/apache/init.sls


httpd:

   pkg:

        - installed


php:

   pkg:

        - installed



/etc/httpd/conf/httpd.conf:

    file:

        - managed

        - source: salt://apache/files/httpd.conf

        - user:root

        - group:root

        - mode:644


salt ‘*’ state.ls apache




同步目录:

vim top.sls,init.sls

/opt/salt/test: #会自己创建目录

    file:

        - recurse

        - source : salt://db/dir/boot

        - include_empty:True  #空的依然有效


salt ‘*’ state.ls db



服务管理:

salt.states.service 模块

vim init.sls


httpd:

   pkg:

        - installed

   service:

        - running

- enable:True   服务添加到运行级别 注意<:>后面必须加空格


salt ‘*’ state.sls apache



设置同步文件后重启服务

httpd: pkg:

 - installed service: 

 - running - enable: True 

 - reload: True 

 - watch:

 - file: salt://etc/httpd/conf/httpd.conf


计划任务:

/opt/salt/test: file:

 - recurse - source : salt://db/dir/boot

 - include_empty:True 

 date >> /tmp/crontest:

 cron.persent: 

 - user: root

 - minute: 5


关于匹配客户的

四种匹配模式

glob //通配符,正则表达式匹配

minion id == fqdn == full hostname

*.db.abc.com

0[1-5].db.abc.com

db?.abc.com

grains  及其的基本信息,硬件信息等

salt ‘*’ grains.ls  #查看根主机信息相关的项目

salt ‘*’ grains.items 

salt ‘*’ grains.items os

salt ‘*’ grains.items ip_interfaces:eth1


salt -G ‘os:Centos’ cmd.run hostname



定制 grains 修改客户的配置文件

vim minion

grains:


salt -G ‘roles:web’ cmd.run hostname

salt -G ‘city:beijing’ cmd.run hostname


compound 表示服类型@普配的模式 忽略大小写

[type]@[pattern]


E 正则匹配minion id

salt -C ‘E@agent[\d+]’ cmd.run hostname

G grains

salt -C ‘G@os :Centos’ cmd.run hostname

P 正则匹配grains

salt -C ‘P@os :\w’ cmd.run hostname

L list列表

salt -L ‘G@agent01,agent02’ cmd.run hostname


-S 子网和ip地址

salt -L ‘[email protected]' cmd.run hostname

salt -L ‘[email protected]/24’ cmd.run hostname



nodegroup

在master配置文件

nodegroups:

group1:’L@node1’

group2:’G@os:centos’


slat -N group1 test.ping

脚本

salt ‘*’ cmd.script http://192.168.3.155/test/sh

salt ‘*’ cmd.script salt://test.sh



自动接收主机

master 配置文件


auto_accept:True




~                            


你可能感兴趣的:(saltstack安装及使用)