远程执行可以节省大量时间,但也有一些缺点。您执行的大多数任务是许多命令、测试和操作的组合,每一个都有它们自己的细微差别和失败点。通常会尝试将所有这些步骤合并到一个中心shell脚本中,但这些步骤很快就会变得笨拙,并带来它们自己的麻烦。
为了解决这个问题,SaltStack配置管理允许您创建一个可reuse的配置模板,称为state,它描述将系统组件或应用程序放入已知配置所需的所有内容。
当你看到他们的运行时,它们会更容易理解,所以让我们创建一个。状态使用YAML进行描述,创建和读取都很简单。
如果我们想创建一个状态文件,状态文件必须放入指定的位置,至于放在哪里取决于你的配置文件。
salt state它的核心是写sls(SaLt State file)文件,sls文件默认格式是YAML格式,并默认使用jinja模板,jinja是根据django的模板语言发展而来的语言,简单并强大,支持for if 等循环判断。salt state主要用来描述系统,软性,服务,配置文件的状态,常常被称为配置管理。
通常state,pillar,top file会用sls文件来编写。state文件默认是放在/srv/salt中,它与你的master配置文件中的file_roots设置有关。
1、简单的state