zoukankan      html  css  js  c++  java
  • saltstack之(六)配置管理state

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

  • 相关阅读:
    Android:android sdk源码中怎么没有httpclient的源码了
    Android:ADB server didn't ACK或者adb server is out of date. killing解决办法
    [GitHub]第八讲:GitHub Pages
    [GitHub]第七讲:GitHub issues
    [GitHub]第六讲:开源项目贡献流程
    php反射类 ReflectionClass
    排名前 8 的 PHP 调试工具,你认可吗?
    如何调试PHP程序
    eclipse 快速建立PHP调试环境
    HTML 列表元素OL、UL、LI
  • 原文地址:https://www.cnblogs.com/xkops/p/5482725.html
Copyright © 2011-2022 走看看