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

wKiom1OzwMGTzxRwAADe96Mwe_Q830.jpg

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

wKiom1OzzXDAtGF6AAF9aWVh00E706.jpg

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"


wKiom1Oz0Fux5mIlAADkHKBBJTo351.jpg

《上图停止失败是因为我的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

wKioL1PYxHqhUYAqAACX4gApnPE191.jpg



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

相关文章
|
消息中间件 监控 网络协议
SaltStack安装Apache/Mysql/PHP部署Wordpress
SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。 SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信。 master监听4505和4506端口,4505对应的是ZMQ的PUB system,用来发送消息,4506对应的是REP system是来接受
177 0
|
关系型数据库 应用服务中间件 测试技术
|
Python 消息中间件 运维