SaltStack学习系列之自定义grains

Master端

打开存放自定义grains的目录

vim /etc/salt/master
file_roots:
  base:
    - /srv/salt/

建立自定义模块

cd /srv/salt
mkdir _grains
cd _grains

编写自定义grains

cat disk.pyimport os
def disk():
    grains = {}
    disk  = os.popen(‘fdisk -l |grep \‘Disk\‘ |grep -v \‘VolGroup\‘ | grep -v \‘label\‘ |awk -F , \‘{print $1}\‘ | sed \‘s/Disk identifier.*//g\‘ |sed \‘s/Disk //g\‘ | sed \‘/^$/d\‘‘).read()
    disk = str(disk)
    #disk = disk.split(‘:‘)
    grains[‘disk‘]  = disk
    return grains

把自定义grains推送到客户端

 salt ‘*‘ grains.items

测试

[[email protected] _grains]# salt ‘*‘ grains.item disk
172-16-1-225:
    ----------
    disk:
        /dev/vda: 107.4 GB
172-16-1-213:
    ----------
    disk:
        /dev/vda: 107.4 GB
172-16-1-226:
    ----------
    disk:
        /dev/vda: 107.4 GB
时间: 2024-10-15 15:35:53

SaltStack学习系列之自定义grains的相关文章

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

目录结构 |-- pillar | |-- nginx | | `-- nginx.sls #nginx变量(key:value) | `-- top.sls `-- salt|-- init #初始化目录 | `-- repos.sls #安装yum源 |-- roles #角色(nginx和php) | |-- nginx #Nginx | | |-- config.sls #copy和利用pillar渲染配置文件 | | |-- files #存放需要copy和渲染到客户端的文件 | |

SaltStack学习系列之state常用模块

常用模块:cron,cmd,file,mount,ntp,pkg,service,user,group cmd模块 参数: name:要执行的命令 unless:用于检查的命令,只有unless指向的命令返回False时才执行name那行的命令 cwd:执行命令时的目录,默认为root user:以指定用户身份运行命令 group:以指定用户组身份运行命令 run:运行name后的命令 require:确保某个模块执行之后才执行这个模块 实例 [[email protected] ~]# cat

【saltstack学习系列之一】saltstack简单安装与配置

安装epel源CentOS6-64bit:rpm -Uvh http://mirrors.yun-idc.com/epel/6Server/x86_64/epel-release-6-8.noarch.rpm 安装master服务器yum -y install salt-master 安装minion服务器yum -y install salt-minion salt-minion端配置 1.修改minion配置文件cd /etc/saltvim minionmaster: salt     /

【saltstack学习系列之二】salt-minion端修改主机名

删除minion-id和pki目录cd /etc/saltrm -rf minion_id pki/ 修改/etc/sysconfig/network文件vim /etc/sysconfig/networkHOSTNAME=Admin2-saltstack.littlebee.com 保存退出 登出系统重新进入 重启salt-minion服务/etc/init.d/salt-minion restart .在master端把新的key加入进去salt-key -ya Admin2-saltsta

【saltstack学习系列之三】salt-master迁移

先按照正常的salt-master服务器进行安装 打包原salt-master服务器的pki目录cd /etc/salttar -czf pki.tar.gz pki 上传这个pki.tar.gz到新的salt-master服务器上的/etc/salt目录下 删除新salt-master原有pki目录(如果安装的时候有启动salt-master服务的话)解压pki.tar.gzrm -rf /etc/salt/pkitar -zxf pki.tar.gz 重启salt-master服务/etc/

SaltStack学习系列之Nginx部署

目录结构 |-- nginx | |-- files #放包文件的 | | |-- admin_22.conf | | |-- fastcgi_params | | |-- jim_fix_params | | |-- nginx-1.8.1.tar.gz | | `-- nginx.conf | |-- init.sls | `-- install.sls `-- top.sls #入口文件

sharepoint 2016 学习系列篇(15)-自定义列表应用篇-(4)数据权限配置

当数据已经录入到列表中之后,接下来,朋友们可能会想知道,有些数据,只想给某些用户看到,或者编辑,列表是否支持这样的操作. 大微软的sharepoint平台,对于用户的需求,可以说是考虑得很周全的,权限管理,当然也是不可能漏掉的,而且权限管理,还是sharepoint上一个非常突出的亮点,数据安全性管理的颗粒度,很完善.接下来,我们来看下,如何在sharepoint的自定义列表中,给数据配置不同的用户访问权限,这些当然也是不需要开发,就能实现的. 前面讲到,用户访问sharepoint平台网站的时

saltstack学习-7:grains,states,YAML

grains grains主要负责采集客户端的一些基本信息,这个也可以完全自定义.可以在客户端自定义,然后自动汇报上来:也可以从服务端定义,然后推下去,采集完后,再汇报上来:pillar根grains比较的话它更灵活. grains的使用: 查看 [[email protected] file]# salt 'vas01' grains.ls 查看minion所有的grains的名称 [[email protected] file]# salt 'vas01' grains.items 列出所有

【saltstack学习笔记之九】salt的grains的使用

1.查看grains salt 'Admin2-saltstack.littlebee.com' grains.ls salt 'Admin2-saltstack.littlebee.com' grains.items    //查看所有item salt 'Admin2-saltstack.littlebee.com' grains.item os    //单独查看os这个item 2.自定义grains 在minion的配置文件上进行自定义grains配置 grains:        /