欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

saltstack的简单搭建

程序员文章站 2022-08-02 13:54:01
环境; centos 7 192.168.10.10 master centos 7 192.168.10.129 minion 1、为了方便关闭防火墙 2、在192.168.10.10主机上安装salt-master salt-master默认监听2个端口: 4505:publish_port 提 ......

环境;

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上查看

saltstack的简单搭建

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

saltstack的简单搭建

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

saltstack的简单搭建

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

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

saltstack的简单搭建

秘钥管理的常用命令;

[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

saltstack的简单搭建

常用命令:

[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缓存