lbdbzj110 发表于 2018-8-1 10:28:31

SaltStack安装配置及简单应用

  一、概述:
  SaltStack 系统自动化配置和管理工具 采用 zeromq 消息队列进行通信,和 Puppet/Chef 比起来,SaltStack 速度快得多。
  还有一点我们喜欢 SaltStack 的地方是它是 Python 写的,比 Puppet/Chef 这些 Ruby 工具更接近我们的能力圈。
  二、作用:
  操作系统和软件的安装、配置、初始化等;
  自动执行任务,比如定期备份、清除日志等;
  手动执行任务,比如部署应用、升级、重启、检查和校验文件系统、增加用户等。
  三、架构:
  master/minion
  一台master(主控)安装服务端软件salt master,在多台minion(受控)安装salt minion,在主控机器上给下属(受控)发命
  令,在受控机器上接受和执行上级(主控)的命令。
  四、SaltStack 安装:
  在Centos 6.x上安装salt master:
# rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm  
# yum update
  
# yum install salt-master
  安装受控端salt minion:
# rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm  
# yum update
  
# yum install salt-minion
  五、修改salt minion配置文件,让 salt minion 指向 salt master 服务器地址:
#vim /etc/salt/minion  
master: aa.cn //主机名或IP地址
  
id:salt-1//昵称、任意取
  
#/etc/init.d/salt-minion restart//重启受控服务
  六、主控和被控端的认证
  在 master 上执行 salt-key list 就会看到有个 minion1.vpsee.com 请求加入受控,执行 -a 接受请求后,主控和受控之间
  的信任关系就建立起来了,主控就可以任意 “摆布” 受控了:
# salt-key list //需要认证主机列表  
Accepted Keys:
  
Unaccepted Keys:
  
salt-1
  
Rejected Keys:
  
# salt-key -a salt-1 //生成认证
  
The following keys are going to be accepted:
  
Unaccepted Keys:
  
salt-1
  
Proceed?
  七、常用执行命令
  1、在主控机器上执行一个命令,让所有受控机器执行 hostname 命令:
#salt '*' cmd.run "hostname"  
salt-1:
  
    web100.bb.cn
  
salt-server:
  
    aa.cn
  2、在主控机器上执行一个命令,让所有受控机器上执行内建 test.ping 命令:
#salt '*' test.ping  
salt-1:
  
    True
  
salt-server:
  
    True
  
3、# salt '*' disk.usage
  
4、# salt '*' network.interfaces
  查看受控端模块函数帮助信息:
#salt '*' sys.doc | more  八、配置管理
  批量安装rpm包
  1、salt的配置管理指令文件默认保存在/srv/salt中
  2、salt使用PYAMI语法作为他的模板文件格式
  3、
# vim /etc/salt/master      #启用配置文件目录,nodegroups是salt对minion的分组功能  
file_roots:
  
   base:
  
   - /srv/salt/
  4、
#vim /srv/salt/top.sls#新建基础配置文件(TOP文件),这个文件提供了其他文件的映射  
base:#base告诉salt这是基础配置文件,可以应用在所以机器上
  
'*':#统配所有目标机器
  
   - servers#可以是任意值,运行你识别那些质量可以使用
  

  
# vim /srv/salt/servers.sls
  
iotop:#包管理工具可识别的软件包名称
  
pkg:
  
   - installed#处理包方式,如果删除是remove
5、#salt '*' state.highstate -v  
#state.highstate是触发这些同步的命令,‘*’指所有主机,-v显示详细信息
页: [1]
查看完整版本: SaltStack安装配置及简单应用