SaltStack-安装演练

本文介绍如何使用Salt进行自动化运维,包括安装配置Salt-master和Salt-minion、配置minion、master端认证minionkey以及基本的远程执行命令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值