liuhongyu 发表于 2018-8-1 10:43:25

saltstack基础概念

  用了两天的时间把salt的源码安装搞定,蛋疼啊。现在记录下salt的基础学习过程。
  常用术语:
  minion: salt客户端
  master: salt服务端
  grains: 客户端的一些底层信息、比如cpu、ip、mem
  pillar: 用户在master端自定义的数据、可用于minion
  state: 用户自定义的sls文件、用来管理文件、包的状态
  mine: 客户端收集的信息、这个信息是共享的
  jinja:sls默认的模版,用于替换数据的
  targeting: 操作目标、就是客户端
  returner: 将数据返回到其他地方、支持mysql、redis等
  renderer:配置、模版解析引擎,包含jinja、json、yaml、py等
  targeting:
  在管理服务器时,我们需要指定管理的目标,这个时候就需要用到targeting。
  target有以下几种方式:
  使用id指定target
  使用grains指定target-G(--grain)--grain-pcre
  使用配置文件中预定义的nodegroups-N(--nodegroup)
  使用函数返回状态码指定target-X(--exsel)
  使用pillar指定target-I(--pillar)
  使用ip地址段或ip指定target-S(--ipcidr)
  混合指定target-C(--compound)
  target匹配方式:
  使用shell通用匹配符匹配
  使用pcre匹配
  基本架构:

  命令执行

  这个命令用来测试主机的存活,这里我使用ip作为key.返回true代表存活

  这个命令用来远程执行命令,这就是salt特点,可以在本地管理远程机器,很方便。
  上面命令都是通过id指定target。
  通过列表指定target:
  salt -L '192.168.79.49,192.168.79.50' test.ping
  通过组指定target,组的定义可以在master配置
  salt -N 'group1' test.ping
  通过grains指定target:
  salt -G 'shell:/bin/bash' test.ping
  可以通过正则匹配:
  salt -E '192.168.79.*' test.ping
页: [1]
查看完整版本: saltstack基础概念