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 -L
Accepted Keys:
Unaccepted Keys:
test101
test102
Rejected Keys:
#然后再一个一个的添加
[root@localhost ~]# salt-key -a test102
The following keys are going to be accepted:
Unaccepted Keys:
test102
Proceed? [n/Y] y
Key for minion test102 accepted.
[root@localhost ~]# salt-key -L
Accepted Keys:
test102
Unaccepted Keys:
test101
Rejected Keys:
[root@localhost ~]# salt-key -a test101
The following keys are going to be accepted:
Unaccepted Keys:
test101
Proceed? [n/Y] Y
Key for minion test101 accepted.
[root@localhost ~]# salt-key -L
Accepted Keys:
test101
test102
Unaccepted 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 -0400
test101:
      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完全搞不懂是个什么概念,学习起来是真的苦难,
到网上搜了几篇文章,都讲得不是很清楚(不知道是我基础差的原因...),

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

posted @ 2014-09-24 01:47  ppingg  阅读(442)  评论(1编辑  收藏  举报