首页 > 代码库 > SaltStack

SaltStack

我用的是salt版本2014.1.4,系统版本是Centos 6.2 X64 最小化安装的

各自安装salt,开始学习
Centos 6.x:rpm -ivh http://mirrors.ustc.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm
Centos 5.x:rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
服务端安装
yum install salt-master
客户端安装
yum install salt-minion

安装完毕后启动
服务端
/etc/init.d/salt-master start
客户端
/etc/init.d/salt-minion start

启动了还不能立即使用 还需要修改各自配置文件
服务端:
配置文件是/etc/salt/master
刚起步学习的时候我只修改了里面14行的interface选项,这个选项默认是监听全部地址的,这样不是很安全,我把它改成了eth0使用的IP地址
然后重启了:/etc/init.d/salt-master restart

客户端:
配置文件是/etc/salt/minion
这个配置文件修改了11行的master和42行的id选项
master 修改成 master主机的地址 这里我改的是192.168.1.100
id 修改成test101 这个主要是用来区别客户端名的

test102的修改也和101差不多..

回到服务端的主机上添加2台minion客户端需要使用到salt-key命令
先看看有哪些没添加的key

[root@localhost ~]# salt-key -LAccepted Keys:Unaccepted Keys:test101test102Rejected Keys:#然后再一个一个的添加[root@localhost ~]# salt-key -a test102The following keys are going to be accepted:Unaccepted Keys:test102Proceed? [n/Y] yKey for minion test102 accepted.[root@localhost ~]# salt-key -LAccepted Keys:test102Unaccepted Keys:test101Rejected Keys:[root@localhost ~]# salt-key -a test101The following keys are going to be accepted:Unaccepted Keys:test101Proceed? [n/Y] YKey for minion test101 accepted.[root@localhost ~]# salt-key -LAccepted Keys:test101test102Unaccepted Keys:Rejected Keys:

当添加完后就可以直接在master上操作所有的minion了,比如分别查看2台minion的/etc/passwd文件的最后修改时间

[root@localhost salt]# salt ‘*‘ cmd.run ‘stat /etc/passwd‘test102:      File: `/etc/passwd      Size: 856           Blocks: 8          IO Block: 4096   regular file    Device: fd00h/64768d    Inode: 656679      Links: 1    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)    Access: 2014-06-08 13:41:09.348744813 -0400    Modify: 2014-06-08 13:41:09.239736010 -0400    Change: 2014-06-08 13:41:09.239736010 -0400test101:      File: `/etc/passwd      Size: 856           Blocks: 8          IO Block: 4096   regular file    Device: fd00h/64768d    Inode: 787238      Links: 1    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)    Access: 2014-06-07 21:29:01.553429161 -0400    Modify: 2014-05-24 18:55:08.254380629 -0400    Change: 2014-05-24 18:55:08.254380629 -0400当然也可以操作单台的值需要定义好的id名字就好了[root@localhost salt]# salt ‘test101‘ cmd.run ‘ls‘test101:    anaconda-ks.cfg    install.log    install.log.syslog    redis-2.8.3    redis-2.8.3.tar.gz[root@localhost salt]# 

这前面几个还是很简单的都是几个命令,后面配置sls,pillar,grains完全搞不懂是个什么概念,学习起来是真的苦难,
到网上搜了几篇文章,都讲得不是很清楚(不知道是我基础差的原因...),

英文文档呢完全看不懂,中文官方文档看了一下也没看懂,而且感觉更新很慢,算了还是自己看源码吧...

SaltStack