配置管理是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"声明。

saltstack之(六)配置管理state的更多相关文章

  1. saltstack之(八)配置管理部署LAMP

    场景:公司有10台服务器需要安装lamp测试环境,使用saltstack编写state文件进行批量部署,可以提高工作效率,减少人为出错的可能性,保证环境的一致性. saltstack之配置管理lamp ...

  2. 学习saltstack (六)

    Slatstack 介绍 官网:https://saltstack.com/ 官方源:http://repo.saltstack.com/  (介绍各操作系统安装方法) centos 6源 ? 1 y ...

  3. saltstack之(九)配置管理源码部署Nginx

    场景:rpm包安装的nginx服务,无法满足定制模块的需求,故线上环境使用nginx源码进行安装.本片文章详细介绍如何使用saltstack的配置管理功能实现nginx软件的源码安装. 下载源码:pc ...

  4. SaltStack快速入门-配置管理

    1:定义远程配置时描述位置,salt配置用的是一种yaml的描述语法,saltstack也是可以分环境的,比如测试环境.生产环境,默认是base,base也是必须存在的,修改内容如下: file_ro ...

  5. React文档(六)state和生命周期

    想一下之前的章节时钟的例子. 目前为止我们只学习了一直方式去更新UI. 我们调用ReactDOM.render()方法去改变渲染的输出: function tick() { const element ...

  6. saltstack系列(六)——zmq扩展(二)

    问题 我们已经熟练的掌握了REQ/REP模式,它是一个一对多的模式,一个REP对应多个REQ. 但是现实工作中,我们会遇到这样的难题,一个REP无法满足REQ的提问,因为REQ太多了,虽然可以增加一个 ...

  7. saltstack 模块学习之 state

     入口文件top.sls 三要素环境:通过file-roots指定目标主机:可以使用通配符*配置文件路径:路径分割符为. 比如a.mysql 表示在环境指定的路径下有个a目录,a目录下有个mysql. ...

  8. SaltStack学习系列之State安装Nginx+PHP环境

    目录结构 |-- pillar | |-- nginx | | `-- nginx.sls #nginx变量(key:value) | `-- top.sls `-- salt|-- init #初始 ...

  9. SaltStack学习系列之state常用模块

    常用模块:cron,cmd,file,mount,ntp,pkg,service,user,group cmd模块 参数: name:要执行的命令 unless:用于检查的命令,只有unless指向的 ...

随机推荐

  1. Java 利用Apache Commons Net 实现 FTP文件上传下载

    package woxingwosu; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...

  2. spring整合quartz并持久化

    spring整合quartz有两种方式: 一.常见是使用配置文件,将定时任务保存到内存中 简单示例: <!-- 短信催还提醒任务调度 --> <bean id="overd ...

  3. sftp配置

    sftp不需要安装,只需要借助sshd服务器即可使用. 增加用户useradd -s /bin/false mysftp 设置用户密码passwd mysftp 创建用户家目录mkdir /home/ ...

  4. MIB-II

    . 1.3.6.1.2.1

  5. sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"问题解决

    安装一个软件时,遇到这个问题sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 上网 ...

  6. Silic PHP大马Cookie欺骗漏洞

    $password="ebd9a3c106064a255aaee28b6eb4f21c"; if($_COOKIE['admin_silicpass'] != md5($passw ...

  7. 你们以为运营商只是HTTP插点广告而已么?

    国内某邮件服务商,近期在某南方地区有大量客户反应登录时出错和异常,于是工作人员进行了一下跟进,发现如下: 首先,邮件服务商登陆页面为普通HTTP协议发送,提交时通过JS进行RSA加密(没错,JS的RS ...

  8. HTTP 笔记与总结(3 )socket 编程:发送 GET 请求

    使用 PHP + socket 模拟发送 HTTP GET 请求,过程是: ① 打开连接 ② 构造 GET 请求的数据:写入请求行.请求头信息.请求主体信息(GET 请求没有主体信息) ③ 发送 GE ...

  9. Linux 计划任务 Crontab 笔记与总结(5)crontab 常见错误与案例

    ① 环境变量 cd ~ pwd 就会到你登陆的那个用户的根目录下 ls -a 能够查看到 .bash_profile 这个文件 vim .bash_profile 这里面设置了一些环境变量. 可以设置 ...

  10. Web 在线文件管理器学习笔记与总结(5)修改文件内容

    ① 读出要修改的文件的内容 ② 进行修改 ③ 将修改后的内容写进文件 index.php: <?php require 'dir.func.php'; require 'file.func.ph ...