自动化运维工具Saltstack配置及使用

一、简介
Saltstack 是基于Python 开发的,也是基于 C/S 架构,服务端 master 和客户端 minions ;Saltstack 和 Puppet 很像,可以说 Saltstatck 整合了 Puppet 和 Chef 的功能,更加强大,更适合大规模批量管理服务器,并且它比 Puppet 更容易配置。
三大功能: 远程命令执行,配置管理(服务,文件,cron,用户,组),云管理。
支持系统:大多数系统都支持,windows 上不支持安装 master。

二、安装配置
1、准备工作
本实验是在CentOS7.8上做的,准备两台机器,关闭防火墙firewalld并清空规则,关闭selinux

服务端 192.168.33.123
客户端 192.168.33.124
#systemctl stop firewalld  #关闭防火墙
#systemctl disable firewalld #清除防火墙规则,禁用开机自启
#setenforce 0   #关闭selinux

2、修改主机名并编辑 hosts 文件
修改主机名并把主机名追加至/etc/sysconfig/network文件中

#hostnamectl set-hostname test1   #修改master端主机名为test1
#echo "HOSTNAME=test1" >> /etc/sysconfig/network   #在主机test1上做
#hostnamectl set-hostname test2   #修改minion端主机名为test2
#echo "HOSTNAME=test2" >> /etc/sysconfig/network   #在主机test2上做

编辑/etc/hosts文件,添加IP与主机名的映射关系,如果机器太多,可以搭建DNS,这样就不用每台机器都做

#echo "192.168.33.123 test1" >> /etc/hosts
#echo "192.168.33.124 test2" >> /etc/hosts

3、安装
(1)服务端安装

#yum -y install epel-release     #配置额外的软件包源,服务器端和客户端都要先配置好源才能顺利安装salt
#yum -y install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm  #配置最新版本的salt源
#yum clean all && yum makecache  #重新建立yum源缓存
#yum -y install python-crypto    
#yum -y install salt-master salt-minion   #服务器端test1安装master和minion,可以不装minion,但是为了salt能管理本机,顺便看看实验效果,建议安装

(2)客户端安装
按照上面的源配置方法配置好yum源,配置好后,直接执行下面的安装指令,客户端只需要安装minion

#yum -y install salt-minion

4、配置
服务端和客户端都要配置 master

# vim /etc/salt/minion                  #在第16行添加
master: 192.168.33.123   #注意冒号后有一个空格

5、启动服务
(1)服务端

# /etc/init.d/salt-master start  #启动master
# /etc/init.d/salt-minion start  #启动minion
或者
#salt-master -d   #启动并后台运行
#salt-minion -d   #启动并后台运行

(2)客户端

# /etc/init.d/salt-minion start  #启动minion
或者
#salt-minion -d   #启动并后台运行

三、配置认证
(1)在服务端上操作
在服务器端执行如下语句可以查询到当前环境下有多少个客户端等待服务器端的认证

[root@test1 salt]# salt-key

在这里插入图片描述
从上图可以看出目前有两个机器test1和test2等待认证,执行如下语句接受

[root@test1 salt]# salt-key -a test1
[root@test1 salt]# salt-key -a test2

在这里插入图片描述
再次用命令salt-key查看,发现两台机器已经由服务端认证并出现在已经通过的列表中
在这里插入图片描述
Note:-a :accept ,-A:accept-all,-d:delete,-D:delete-all。可以使用salt-key 命令查看到已经签名的客户端。此时我们在客户端的 /etc/salt/pki/minion 目录下面会多出一个minion_master.pub 文件。
在这里插入图片描述
在这里插入图片描述
(2)测试验证
示例1:salt '*' test.ping

[root@test1 master]# salt '*' test.ping    //检测通讯是否正常,也可以指定其中一个 'test2'

在这里插入图片描述
示例2: salt '*' cmd.run 'df -h'

[root@test1 master]# salt '*' cmd.run 'df -h'  //远程执行命令,查看磁盘情况

在这里插入图片描述
Note: 这里的*必须是在 master 上已经被接受过的客户端,可以通过 salt-key 查到,通常是我们已经设定的 id 值。关于这部分内容,它支持通配、列表以及正则。比如两台客户端 web10、web11, 那我们可以写成salt 'web*' salt 'web1[02]' salt -L 'web10,web11' salt -E 'web(10|11)'等形式,使用列表,即多个机器用逗号分隔,而且需要加-L,使用正则必须要带-E选项。 它还支持 grains 和 pillar,分别加-G 和 -I 选项,下面会介绍到。

四、grains 和 pillar
1、grains
grains 是在 minion(客户端)启动时收集到的一些信息,比如操作系统类型、网卡ip等。

[root@test1 master]# salt 'test2' grains.ls    //列出所有的 grains 项目名字
[root@test1 master]# salt 'test2' grains.items  //列出所有的 grains 项目名以及值

Note:grains的信息并不是动态的,并不会时时变更,它只是在 minion 启动时收集到的。grains 还可以做

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A Master

您的鼓励是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值