SaltStack 介绍 salt是一个新的基础平台管理工具, 只需要花费数分钟即可运行起来, 扩展性足以支撑管理上万台服务器, 数秒钟即可完成数据传递。 经常被描述为Func加强版+Puppet精简版。 SaltStack采用C/S架构。简单的说: salt是一种全新的基础设施管理方式, 部署轻松, 在几分钟内可运行起来, 扩展性好。很容易管理上万台服务器, 速度快, 服务器之间秒级通信。 salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等。最为重要的一点, salt是开源的。 而且是python实现的自动化运维工具, 这意味着我们可以对其进行一些改动, 在其基础之上加上我们想要的功能, 对其进行二次开发。
环境介绍 系统Centos7.2 x64两台, 一台为master,另一台为minion。
SaltStack安装 两台安装epel 1 [root@localhost ~]# rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
在master安装 1 [root@localhost ~]# yum -y install salt-master
在minion上运行 1 [root@localhost ~]# yum -y install salt-minion
SAltStack配置 修改master配置文件,并启动服务 1 2 3 4 [root@localhost ~]# vim /etc/salt/master 修改interface: 192.168.1.226 #master ip地址 [root@localhost ~]# systemctl start salt-master
修改被管理端(minion),并启动服务 1 2 3 4 [root@localhost ~]# vim /etc/salt/minion 修改master: 192.168.1.226 [root@localhost ~]# systemctl start salt-minion
master接受minion的托管请求,在master上操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [root@localhost ~]# salt-key -L Accepted Keys: Denied Keys: Unaccepted Keys: 192.168.1.136 Rejected Keys: [root@localhost ~]# salt-key -a 192.168.1.136 The following keys are going to be accepted: Unaccepted Keys: 192.168.1.136 Proceed? [n/Y] y Key for minion 192.168.1.136 accepted. [root@localhost ~]# salt-key -L Accepted Keys: 192.168.1.136 Denied Keys: Unaccepted Keys: Rejected Keys:
SAltStack操作 基本操作命令通用格式 1 格式: 命令 对象 执行模块 参数salt ‘*’ cmd.run “ping -c 4 www.baidu.com"
举个例子 1 2 3 4 5 6 7 8 9 [root@localhost ~]# salt '*' cmd.run 'uptime' 192.168.1.136: 21:14:44 up 1 day, 2:29, 3 users, load average: 0.10, 0.18, 0.13 [root@localhost ~]# salt '*' cmd.run 'date' 192.168.1.136: Fri May 5 21:14:51 CST 2017 [root@object1 ~]# salt '*' disk.usage
默认情况下master和minion之间使用以下端口进行通信: 4505(publish_port):salt的消息发布系统 4506(ret_port):salt客户端与服务端通信的端口 cmd.run 为模块,又称之为超级命令. 可以执行Linux中的任何命令
Salt States SLS(代表Salt State文件)是Salt State系统的核心。SLS描述了系统的目标状态, 由格式简单的数据构成。 这经常被称作配置管理。
默认的数据 - YAML