arongsoft 发表于 2018-1-4 08:32:52

saltstack 数据系统之 grains 简单学习

  saltsatck 主要的使用场景有两个
  1.远程执行
  2.配置管理
  3.云管理
  目前云管理还不太成熟,所以现在使用最多的就是前两个。接下来要分析的就是salt 里面非常重要的两个数据系统 grains、pillar 之一的 grains。
  grains 是minion 端获取客户端本地相关信息,在每次 minion 启动的时候获取一次,可以理解为静态信息,像 ip,主机名,CPU等等信息都会获取。
  一些关于 grains 的命令:
  salt'host2'grains.ls    # 获取host2中都有哪些 grains 信息
  salt'host2'grains.items    # host2 主机中所有的grains 详细信息
  salt'host2'grains.itemos    # 查看某一条 grains 信息,也可以使用grains.getos
  实际中我们比较常用的是自定义客户端的 grains 信息,比如定义角色,方法很简单,只要在 minion 端的配置文件中关于 grains 的地方注释去掉即可
  grains:
  role: nginx
  env: test
  配置完重启minion ,再在 master 上 使用 salt'host2' grains.getrole就可以得到 nginx 的返回。
  还有一种比较常用的自定义 grains 信息是使用文件方式,在/etc/salt/下新建 grains 文件,文件使用 yaml 格式,比如上面的配置写到文件中如下:
  role: nginx
  env: test
  使用 grains 的地方非常多,比如你指定目标的时候可以使用 grains :
  salt-G'role:nginx'cmd.run'uptime'    #在grains 角色为 nginx 的所有主机上执行命令 uptime
  grains 可以在我们后期使用中发挥很大的作用,关于其更深入的使用后续会持续更新。
页: [1]
查看完整版本: saltstack 数据系统之 grains 简单学习