SaltStack-安装演练

Salt和Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件。Salt 有两个主要的功能:配置管理和远程执行。(我个人很喜欢的一个功能)
salt也分为Salt-master(类似于puppet的master)和salt-minion(client)

本文主机:centos6.5 x64
ip:192.168.28.133

本机充当master及minion端进行测试;

1、安装salt

SaltStack-安装演练

1
2
3
4
5
6
7
yum install salt-master  salt-minion  ####即可
[root@master salt]# pwd
/etc/salt
[root@master salt]# ll
总用量 48
-rw-r----- 1 root root 23020 6月  11 04:39 master
-rw-r----- 1 root root 21392 6月  11 04:39 minion

现在就可以启动salt-master、salt-minion服务;

2、配置minion:

1
2
3
vim minion
11 master: 192.168.28.133      ###Master服务器的IP地址
42 id: _host_serv_1.lansgg.com             ###这个名字可以是任何字符串

重新加载minion服务

1
/etc/init.d/salt-minion restart  ###重启后你会在当前目录多了两个目录

3、master端认证minion key

1>、输入salt-key -L 列出所有没有认证,认证过,拒绝认证的证书


2>、你应该可以看到一个没有认证的证书_host_serv_1.lansgg.com


3>、认证这个证书使用  salt-key -a _host_serv_1.lansgg.com

SaltStack-安装演练

4、通信测试

从master 使用一个test ping的命令来测试他们之间的连接

1
2
3
[root@master salt]# salt '*' "test.ping"       ###通配符 *代表所有minion
_host_serv_1.lansgg.com:
    True            ####证明OK

Salt的语法结构,包括命令,目标和动作,举个例子,* 指任何主机(* 是一个通配符),test.ping 是动作。


你可以在已经链接和信任的主机上执行任何可用的命令,关键提示:这些需要执行的命令在目标主机上必须可用,例如,如下命令:

1
[root@master salt]# salt '*' cmd.run "service httpd restart"


SaltStack-安装演练

《上图停止失败是因为我的httpd服务本身就是关闭的》;

1
2
3
[root@master salt]# salt _host_serv_1.lansgg.com cmd.run "uptime"
_host_serv_1.lansgg.com:
     01:23:40 up  1:55,  3 users,  load average: 0.00, 0.00, 0.00

你也可以根据你自己的需求,执行一些命令在特定的目标群组上。参考-G 参数,从此以后你不需要再登陆minion,所有的配置和执行能够快速高效的远程执行。

5、salt 函数

Salt拥有一个巨大的函数库可用于执行,而且Salt函数是自带文档说明的。在minions上执行 sys.doc  函数可以查看哪些函数可用:

1
2
[root@master salt]# salt '*' sys.doc 
[root@master ~]# salt '*' sys.doc disk  ##查看disk函数相关

可以在线查看 在线查看

这些函数覆盖从shell命令到包管理到数据库服务器操作等所有内容。它们包含强大的系统管理API,而这则是Salt配置管理和很多其他部分的核心。

远程执行shell命令

1
[root@master salt]# salt '*' cmd.run 'ls -l /etc'
1
[root@master salt]# salt '*' cmd.run 'yum install tree -y '

 函数参数的传递

很多函数可以通过命令行接收参数:

1
[root@master salt]# salt '*' pkg.install tree

SaltStack-安装演练



本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1539631

上一篇:企业上云如何 Hold 住 OpenStack?


下一篇:ClippingNode的使用