SaltStack简介及安装配置

SaltStack简介及安装配置

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简单安装测试

准备三台机器:
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

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

猜你喜欢

转载自blog.csdn.net/qq_36764089/article/details/81272198