saltstack

Salt,,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。

salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等.

参考:http://docs.saltstack.cn/topics/index.html

只在一台机器上安装salt-master

(1)Install epel-release rpm:
  rpm -Uvh epel-release*rpm
(2)Install salt-master rpm package:
  yum install salt-master
参考:https://centos.pkgs.org/6/epel-x86_64/salt-master-2015.5.10-2.el6.noarch.rpm.html

在剩下的机器上都安装salt-minion

  (1)Install epel-release rpm:

   rpm -Uvh epel-release*rpm

  (2)Install salt-minion rpm package:

 yum install salt-minion

修改master配置文件

进入vim /etc/salt/master
修改:
  (1)#auto_accept: False 改成auto_accept: True
  (2)#interface: 0.0.0.0 改成interface: 10.0.0.1(本机ip)


修改minion配置文件
 进入vim /etc/salt/minion 
 修改:
    (1)#master: salt 改成 master: 10.1.110.231(master的ip)
    (2)#id:  也可对自己主机命名,便于区分
启动服务
 master: service salt-master start或/etc/init.d/salt-master start或systemctl start salt-master.service(根据版本不同)
    minion: service salt-minion start
 
在master操作
     需关闭防火墙
  • cd /etc/salt/
  • salt-key -L
  • salt-key -a cc.com

  • salt-key -A

  • salt 'cc.com' cmd.run 'ifconfig'    控制master连接的id为cc.com的主机
  • salt '*' cmd.run 'ifconfig'        控制master连接的所有主机
  • salt 'c*.com' cmd.run 'ifconfig'    控制master连接的以c开头以.com结尾的所有主机

state:在master上进行相关配置,根据salt-master上的配置,在远程服务器上执行相关:命令/文件操作/服务设置等

(1)将master上的一个文件,同步到客户端

    • cd /srv/salt   没有文件夹则创建
    • vim init.sls 
    • 推送文件:salt '*' state.sls s7code  
#init.sls
/data/xx.py:  #客户端文件路径
  file:
    - managed
    - source: salt://s7code/files/xx.py   #服务端原路径
    - user: root
    - makedirs: True       #有文件夹就修改,无则创建
    - mode: 644

文件结构:

s7code/
├── files
│   └── xx.py
└── init.sls

(2)master上的一个文件夹,同步到客户端

    • cd /srv/salt
    • vim init.sls
    • 推送文件夹:     

      salt 'w1.com' state.sls s7code
      salt '*' state.sls s7code

#init.sls
xxxxxx:
     file.recurse:
    - name: /data/codes
    - source: salt://s7code/files/video
    - user: root
    - makedirs: True
    - file_mode: 644
    - dir_mode: 755

最终文件结构

s7code/
├── files
│   └── video
│   ├── a.py
│   ├── b.py
│   └── c.py
└── init.sls

原文地址:https://www.cnblogs.com/meng0410/p/8722566.html