5.5.6 SaltStack模块应用

5.5.6 SaltStack模块应用

微课:5-6.SaltStack模块应用

在SaltStack自动化运维工具中,运维机制与其他自动化运维工具的类似,原理也类似,都是基于模块化过程管理。下面简单介绍常用模块的功能,详细模块功能以及使用方式后面介绍。

1.test命令

test命令主要用于测试网络,ping方法使用最多。其核心功能在于ping是否可用,True表示网络正常,False表示网络不通,代码如下所示:

2.salt-cp命令

salt-cp命令用于远程实现文件分发,将服务器端的文件发送至所控区域的客户端服务器。注意,此命令只能用于文件分发,不能分发目录。代码如下所示:

3.检测salt-run命令

salt-run命令通常在master端执行,该命令主要用于管理服务状态,代码如下所示:

4.salt-key认证管理和密钥管理

salt-key命令一般只在master端执行,minion端没有此命令。代码如下所示:

5.测试salt-call命令

在本地测试salt-call命令,代码如下所示:

6.cmd模块

执行cmd.run命令,运行cmd.sript脚本。执行命令包括管道也可以通过,代码如下所示:

7.cp模块

cp模块用于实现远程拷贝文件和目录。在使用cp模块前,需修改master配置文件。默认没有开启此功能,修改配置代码如下所示:

8.pkg模块

pkg模块用于安装软件包和删除软件包。代码如下所示:

9.services模块

services模块用于管理服务、查看服务状态、开启某个服务、重启服务和并闭服务、实现批量管理,代码如下所示:

10.user模块

user模块用于管理用户、新增用户和删除用户等操作,代码如下所示:

11.file模块

file模块用于管理文件系统、远程复制文件、新建文件、新建目录、删除文件、校验文件等常用远程操作,代码如下所示:

12.network模块

network模块用于网络管理、网络路由查询等操作。network模块是用于测试公网的网络情况,不是测试主机之间的通信。代码如下所示:

13.system模块

system模块用于管理所控服务器的主机操作系统、重启服务器、关闭服务器等操作,代码如下所示:

14.state模块

state模块用于编排文件。当编排文件时,格式按照模板语言的要求进行编写。本节介绍lamp平台部署编排实训,需新建一个lamp.sls文件。编排文件的代码如下所示:

验证lamp安装服务,安装过程根据实训环境网络而定,当遇到执行编排命令响应比较慢时,请耐心等待。所有服务安装完成后,可通过服务器IP进行测试。访问服务测试的结果如图5-2所示。

图5-2 访问服务测试的结果

任务思考

通过学习SaltStack运维管理,可让读者熟悉SaltStack常用模块。思考在大批量需要管理服务器的环境中,部署一套SaltStack自动化运维系统,完成企业数据中心服务器的硬件管理或个人服务器的运维管理,提高服务器硬件的运维办公效率。

任务评价

通过学习本任务的知识点,读者能够熟练掌握SaltStack运维技术;能够在生产环境中搭建起SaltStack运维平台,解决企业或个人的运维难题,为企业服务器运维管理或个人日常办公需求增值提效,并改进不利于自动化运维的支撑系统。