saltstack的简单安装和配置
什么是saltstack?
SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet和加强版的func。SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。
通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。
安装步骤
准备环境
关闭防火墙:
systemctl stop firewalld.service
临时关闭防火墙(临时关闭);systemctl disable firewalld.service
开机关闭;————》》软件层面的防火墙关闭SElinux:
setenforce 0
临时关闭;getenforce
查看selinux的状态;vim /etc/sysconfig/selinux
–SELINUX=disabled
永久修改。配置网络,确保linux主机之间网络通畅
安装软件
salt master端:yum install salt-master
salt slave端:yum install salt-minion
配置
master端:
vim /etc/salt/master
interface: 0.0.0.0
slave端:
vim /etc/salt/master
master: 0.0.0.0
id: c2.salt.com 可选,指定slave端在master端的显示
启动&授权
service salt-master start
service salt-minion start
salt-key -L # 查看已授权和未授权的slave
salt-key -a slave_id或ip # 接受指定id的salve
salt-key -r slave_id或ip # 拒绝指定id的salve
salt-key -d slave_id或ip # 删除指定id的salve
执行命令
在master端对slave端进行远程操作
方式一:shell命令
import salt.client
local = salt.client.LocalClient()
result = local.cmd('c2.salt.com', 'cmd.run', ['ifconfig'])
方式二:salt API
salt 'c2.salt.com' cmd.run 'ifconfig'
salt '*' cmd.run 'ls'
import salt.client
local = salt.client.LocalClient()
result = local.cmd('c2.salt.com', 'cmd.run', ['ifconfig'])