saltstack的简单搭建


环境;

centos 7     192.168.10.10    master

centos 7     192.168.10.129  minion

1、为了方便关闭防火墙

[root@localhost ~]# systemctl disable firewalld  // 禁止防火墙开机启动
[root@localhost ~]# systemctl stop firewalld  // 停止防火墙

2、在192.168.10.10主机上安装salt-master

[root@localhost ~]# yum install salt-master -y

salt-master默认监听2个端口:

4505:publish_port 提供远程命令发送功能
4506:ret_port 提供认证,文件服务,结果收集等功能

为确保客户端和服务器可以通过两个端口正常通信,所以这里提前关闭了防火墙哈哈。

3、设置配置文件

默认/etc/salt/master这个配置文件全部都是注释的,我们可以需要自己设置我们想要的功能。在修改配置文件前,先备份一下这个文件是个好习惯。

[root@localhost salt]# vim master
[root@localhost salt]# grep -v ^# /etc/salt/master | grep -v ^$  // 过滤出我们的配置
interface: 0.0.0.0
publish_port: 4505
user: root
worker_threads: 5
ret_port: 4506
pidfile: /var/run/salt-master.pid
auto_accept: False    // 自动接收秘钥
log_file: /var/log/salt/master

好了192.168.10.10(master)主机我们暂且配置到这里,下面安装192.168.10.129(minion)

4、安装192.168.10.129(minion)

[root@localhost ~]# yum install salt-minion   -y

5、安装后调整192.168.10.129(minion)的配置文件

[root@localhost salt]# vim minion
[root@localhost salt]# grep -v "^#" /etc/salt/minion |grep -v "^$"
master: 192.168.10.10
master_port: 4506
user: root
id:192.168.10.129
log_file: /var/log/salt/minion

6、分别启动salt-master(192.168.10.10)和salt-minion(192.168.10.129)

[root@localhost ~]# systemctl start salt-master  // 主机192.168.10.10
[root@localhost ~]# systemctl start salt-minion  // 主机192.168.10.129

7、查看秘钥

[root@localhost ~]# salt-key -f 192.168.10.129  // 在192.168.10.10上查看

[root@localhost ~]# salt-call --local key.finger  // 在本机进行查看

[root@localhost ~]# salt-key -L  // 列出所有秘钥信息(在192.168.10.10上执行)

此时还没有真正建立关系,确定关系。

[root@localhost ~]# salt-key -a 192.168.10.129  // 接收192.168.10.129的秘钥,建立关系

秘钥管理的常用命令;

[root@linux-node1 ~]# salt-key -L

#常用参数
-L  #查看KEY状态
-A  #允许所有
-D  #删除所有
-a  #认证指定的key
-d  #删除指定的key
-r  #注销掉指定key(该状态为未被认证)

至此192.168.10.10(master)的salt-master的安装和192.168.10.129(salt-minion)的安装及建立关系完成,下面来看一下简单的命令:


 

1、检测192.168.10.129是否存活

[root@localhost ~]#  salt '192.168.10.129' test.ping  // '*'则代表查看所有的minion

常用命令:

[root@localhost ~]# salt '192.168.10.129' cmd.run 'ps -ef|grep python'
salt '192.168.10.129' pkg.install "nginx"  // 远程安装nginx
salt 'slave' pkg.remove "nginx"            // 远程卸载nginx
salt 'slave' pkg.version "nginx"           // 查看远程nginx版本

salt 'slave' service.start "nginx"   // 远程启动nginx服务
salt 'slave' service.stop "nginx"    // 远程停止nginx服务
salt 'slave' service.status "nginx"  // 远程查看nginx状态
salt --out=json '*' cmd.run_all 'hostname'  // 控制输出格式,查看所有minion的主机名

salt-cp '*' 本地文件 /opt/    // 将本地文件发给所有minion的opt目录下

[root@localhost ~]# salt  '192.168.10.129' grains.items  // 查看指定目标主机的详细信息
salt '*' saltutil.running        // 查看正在运行的任务,找到jid
salt '*' saltutil.kill_job jid   // 根据jid杀掉任务
salt '*' saltutil.clear_cache    // 清除minion缓存

 


作者:id_iot,发布于:2019/05/15
原文:https://www.cnblogs.com/caesar-id/p/10864796.html