配置管理是saltstack工具最重要的模块之一,也是学习saltstack之后使用最多的一个功能。可以轻松实现上百台上千台甚至上万台服务器的管理工作。
1.使用state模块进行配置管理,编写sls文件,sls文件使用的是yaml语法格式。
yaml文件的语法格式:
structure通过空格来展示。 sequence里的项用"-"来表示。 map里的键值对用":"来表示。 2.常用的state模块及方法:file: file.managed --文件管理(重点) file.append --文件追加 file.absent --删除文件 file.directory --创建目录 file.recurse --递归拷贝目录到minion端pkg:
pkg.installed --软件包安装(重点) pkg.latest --保持软件包为最新版本 pkg.remove --卸载软件包 pkg.purge --下载软件包,删除配置文件service:
service.running --确保服务处于运行状态(重点) service.enabled --开机启动 service.disabled --开机不启动 service.dead --确保服务处于未运行状态cmd:
cmd.run --执行shell命令mount:
mount.mounted --挂载 mount.swap --交换分区挂载 mount.umounted --卸载
3.模块之间的依赖关系
watch: 关注某一事件变化watch_in: 被关注自身事件变化require: 依赖某一事件发生require_in: 被依赖自身事件发生unless: 判断是否为false,如果为false则执行。常用在cmd中name的命令。onlyif: 判断是否为true,如果为true则执行。 4.jinja模板jinja是基于python的模版引擎。template类是jinja的一个重要组件,它可以被看作是一个编译过的模板文件,被用来产生目标文件。
5.编写state文件并使用jinja模板的步骤:
①.在state文件中使用"- template: jinja"声明。 ②.在模版文件中使用变量"{ { name }}"声明,name为变量,自己定义。 ③.在state文件中使用"- defautls: name: value"声明。