SaltStack简介及安装配置

大数据平台 lxw1234@qq.com 274℃ 0评论

SaltStack是一款开源的,基于Python的自动化运维工具,通过SaltStack,我们可以在成千上万台服务器上批量执行命令、分发文件、配置管理、部署代码、采集数据、安装软件等等,它具有以下特性:
(1)、部署简单、方便;
(2)、支持大部分UNIX/Linux及Windows环境;
(3)、主从集中化管理;
(4)、配置简单、功能强大、扩展性强;
(5)、主控端(master)和被控端(minion)基于证书认证,安全可靠;
(6)、支持API及自定义模块,可通过Python轻松扩展。
另外,它结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建,使得在大规模集群上也得获得好的性能。

 

 

saltstack

saltstack

SaltStack简单安装测试

准备三台机器:
192.168.64.130 Master
192.168.64.131 Minion
192.168.64.132 Minion

salt-master安装

yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
yum clean expire-cache
yum install salt-master -y

salt-master配置

vi /etc/salt/master

interface: 0.0.0.0
publish_port: 4505
worker_threads: 5
ret_port: 4506

salt-minion安装

yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
yum clean expire-cache
yum install salt-minion –y

salt-minion配置

vi /etc/salt/minion

master: 192.168.64.130
id: 192.168.64.131 #覆盖默认的id;每个minion的id都是唯一的。minion启动后会用id值去master进行验证。这里使用minion的ip地址作为id

启动

启动Master
service salt-master start
启动minion
service salt-minion start

Master和Minion建立信任关系

master和minion安装配置完成后,如果master要管理minion,就要接收minion的key。任意minion的在master没有接受前,minion的公钥存放在/etc/salt/pki/master/minions_pre目录下,公钥文件以id命名。

在Master上查看minion列表:
salt-key -L

Accepted Keys:
Denied Keys:
Unaccepted Keys:
192.168.64.131
192.168.64.132
Rejected Keys:

Unaccepted Keys:
192.168.64.131
192.168.64.132
表示两台minion还未被接受。

 

接收单个minion
salt-key -a 192.168.64.131

[root@node0 ~]# salt-key -a 192.168.64.131
The following keys are going to be accepted:
Unaccepted Keys:
192.168.64.131
Proceed? [n/Y] Y
Key for minion 192.168.64.131 accepted.
[root@node0 ~]# salt-key -L
Accepted Keys:
192.168.64.131
Denied Keys:
Unaccepted Keys:
192.168.64.132
Rejected Keys:

接收所有的minion
salt-key -A

[root@node0 ~]# salt-key -L
Accepted Keys:
192.168.64.131
192.168.64.132
Denied Keys:
Unaccepted Keys:
Rejected Keys:

测试远程执行命令

salt '*' cmd.run 'hostname'
salt '*' cmd.run 'python -V'
saltstack

saltstack

当命令在所有minion上执行成功时候,在打印每个minion id及对应的执行结果时,minion id为蓝色,执行返回码为0.

 

salt '*' cmd.run 'aa'
salt '*' cmd.run 'su - lxw1'
saltstack

saltstack

当所有minion或者部分minion执行失败时候,执行返回码都不为0,并且失败的minion id为红色。
后面将继续学习SaltStack的其他功能,比如分发文件,定时/周期执行,返回数据自定义存储等。

 

如果觉得本博客对您有帮助,请 赞助作者

转载请注明:lxw的大数据田地 » SaltStack简介及安装配置

喜欢 (1)
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址