saltstack安装使用手册 saltstack



1、安装 epel 数据源
      rpm -ivh  http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

2
、安装 saltstack 
     yum  install   python-jinja2    -y       ##
安装依赖包,客户端和服务端都要装
     yum  install   salt-master    -y           ##
仅在服务端安装
     yum  install   salt-minion   -y           ##
仅在客户端安装


3
、客户端配置  /etc/salt/minion
      
编辑   /etc/salt/minion  文件
      
  master : IP      中的IP改成 服务端的IP地址

4
、服务端配置,也可以用默认配置

    default_include: master.d/*.conf                  12

    interface: 10.1.10.117                            15
    publish_port: 4505                              
22
    ret_port: 4506                                    
57
    pidfile: /var/run/salt-master.pid                
60


#    sock_dir: /var/run/salt/master                 
115
#   log_file: /var/log/salt/master                    
666
#    key_logfile: /var/log/salt/key                  
671

5
、启动服务
    service   salt-master   start    ##
服务端启动 
    service   salt-minion  start    ##
客户端启动

6
Master 对客户端的Key验证,以下只需在服务端执行
     salt-key    -L        ## 
显示客户端密钥生成情况
     salt-key   -A        ## 
接受所有客户端信任
     salt-key   -a  192.168.1.20  ## 
接受单个客户端的信任



使用实例介绍:


1
salt命令实例说明  
    status 
模块
     salt  '*'    status.loadavg
     salt  '*'    status.cpuinfo
     salt  '*'    status.diskstats
     salt  '*'    status.meminfo
   test
模块
    salt  '*'   test.ping       ## 
所有minion端上执行 ping 命令
   cmd 
模块
    salt   '*'   cmd.run   'date'     ##
在所有minion客户端上执行 date 命令
    salt   '*'   cmd.script  salt://runme.sh    ## 
在所有minion客户端上执行 服务端的 runme.sh 该脚本
    salt   `cat  host.txt`   cmd.run  'df -h'   ##
   grains
模块
    salt  '*'   grains.items     #
查看所有grains  
    salt  '*'   grains.item num_cpus    ##
查看某个grains的值(CPU状态)
   pkg 
模块
   salt  '*'   pkg.install   ftp     ### 
在所有Minion安装ftp,   pkg模块需要yum支持
  cp 
模块
  salt  '*'  cp.get_file    salt://rr   /etc/rr       
master端下载文件到minion的指定目录下
  salt  '*'  cp.get_file    salt://rr   /etc/rr  makedirs=True  
后面带makedirs参数,目标主机不存在 /etc/rr,则创建该目录

  salt  '*'  cp.get_dir   salt://test_dir   /tmp/test_dir    ##master端分发目录到minion的指定目录下

  salt  '*'  cp.get_url   http://xiaorui.cc/good.txt    /tmp/good.txt
     ##
master端分发目录到minion的指定目录下 
 file
模块
  salt   '*'   file.append   /tmp/test.txt   'this is test conten'      ##
minion端的某个文件追加内容
  salt   '*'   file.copy /tmp/test.txt  /tmp/test.txt  recurse=True
  salt   '*'   file.chown /etc/passwd root root
  salt   '*'   file.directory_exists  /tmp
正则表达式说明 
    salt  -G   'host:pc*'  test.ping    #
对主机名称以pc开头的minion执行ping命令
     salt  -G   'os:CentOS*'   test.ping   ## 
检查操作系统是Centos的客户端通信是否正常
     salt  -L   'web2,web3,web4'  test.ping   ## 
匹配指定的机器
     salt     'web[3-6]'    test.ping   ##
匹配 web3  /   web6 的主机
     salt   'web*'  test.ping         ## 
匹配所有web开头的机器
     salt -N 'web' test.ping       ##  
匹配web
     salt  -E   'web|db'  test.ping     ##   
perl 正则表达式,匹配web db的机器
     

2
salt-cp 批量复制文件到受控主机 minion(客户端),不支持目录分发,通常在master上运行。 salt-cp  '*'  /etc/salt/master /tmp/master.conf  将服务端/etc/salt/master文件分发到各minion 端的 /tmp/master.conf

3
salt-key 密钥管理,通常在master端执行   salt-key -L              ##查看所有minion-key  salt-key -a <key-name>   ##接受某个minion-key  salt-key -d <key-name>   ##删除某个minion-key  salt-key -A    ##接受所有的minion-key salt-key -D   ##删除所有的minion-key

4
salt-call 该命令通常在minion上执行,minion自己执行可执行模块,不是通过master下发job  salt-call test.ping    ##自己执行test.ping命令 

5
salt-run 该命令执行runner(salt带的或者自定义的),通常在master端执行,比如经常用到的manage    salt-run manage.status   ##查看所有minion状态  salt-run manage.down     ##查看所有没在线minion  salt-run manged.up       ##查看所有在线minion
salt-run  
命令
salt-run manage.up                 
查看存活的minion
salt-run manage.down            
查看死掉的minion
salt-run manage.down removekeys=True    
查看down掉的minion,并将其删除
salt-run manage.status            
查看minion的相关状态
salt-run manage.versions        
查看slat的所有masterminion的版本信息

 


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回