saltstack之pillar详解

什么是Pillar

Pillar是在salt 0.9.8版本后才添加的功能组件。它跟grains的结构一样,也是一个字典格式,数据通过key/value的格式进行存储。在Salt的设计中,Pillar使用独立的加密sessiion,所以Pillar可以用来传递敏感的数据,例如ssh-key,加密证书等。

存储位置:
存储在master端存放需要提供给minion的信息

应用场景:

敏感信息:每个minion只能访问master分配给自己的信息

查看Pillar

salt ‘node23.com’ pillar.items

自定义Pillar

vim /etc/salt/master
pillar_roots:
  base:
    - /srv/salt/pillar

mkdir -pv /srv/salt/pillar

vim zabbix.sls
zabbix-server: 192.168.0.23

vim nginx.sls
nginx:
  HOST: {{ grains[‘ipv4‘][1] }}
  PORT: 8081

#指定Pillar到某个机器
vim top.sls
base:
  ‘node23.com‘:
    - nginx
    - zabbix

/etc/init.d/salt-master restart

使用Pillar

查看自定义Pillar

# salt ‘node23.com‘ pillar.items
node23.com:
    ----------
    nginx:
        ----------
        HOST:
            192.168.0.23
        PORT:
            8081
    zabbix-server:
        192.168.0.23

1.命令行中使用-I

# salt -I ‘nginx:PORT:8081‘ cmd.run ‘uptime‘
node23.com:
     19:53:27 up 3 days, 13:13,  2 users,  load average: 0.09, 0.10, 0.03

# salt -I ‘zabbix-server:192.168.0.23‘ cmd.run ‘uptime‘
node23.com:
     20:08:47 up 3 days, 13:29,  2 users,  load average: 0.51, 0.26, 0.14

如果出现 Minion did not return. [No response] 错误请执行

salt ‘*‘ saltutil.refresh_pillar   #刷新一下pillar

2.SLS文件中使用

cat pillar/memcached.sls
memcached: memcached

# cat mc/memcached_installed.sls
memcached_installed:
  pkg.installed:
    - name: {{ pillar[‘memcached‘] }}

grain和pillar区别

1.grains存储的是静态、不常变化的内容,pillar则相反
2.grains是存储在minion本地,而pillar存储在master本地
3.minion有权限操作自己的grains值,如增加、删除,但minion只能查看自己的pillar,无权修改

?

时间: 2024-10-12 16:13:45

saltstack之pillar详解的相关文章

SaltStack数据系统-Pillar详解

1:存储位置 存储在master端,存放需要提供给minion的信息 每个minion只能访问master分配给自己的(应用场景) 2:在centos7 salt 2015.5.10 (Lithium) 中pailar默认不是开启的,需要手动开启 vim /etc/salt/master #更改如下内容 pillar_opts: True 执行如下命令进行测试 salt "node3.crazylinux.xyz" pillar.items 3:启用pillars配置,套路和grain

2、自动化运维之SaltStack远程执行详解

SaltStack远程执行详解 ●目标(Targeting) ●模块(Module) ●返回(Returnners) 混合模式-C 选项 主机名设置参照: redis-node1-redis03-idc04-soa.example.com(电商) 1.1模块介绍 [[email protected] salt]# salt '*' service.available sshd linux-node1.zhurui.com: True linux-node2.zhurui.com: True 服务

[自动化] Saltstack服务配置详解

Saltstack 简介 Saltstack 是一个服务器基础设施管理工具,它具有配置管理.远程执行.监控等功能.Saltstack由Python语言编写,基于 C/S 架构,即服务端 master 和客户端 minions,Master和 Minion之间是通过 Zeromq(消息队列)进行通信的 :适合大规模批量管理服务器. Saltstack 常用模块 (1)pkg模块:包管理,包括增删更新 (2)file模块:管理文件操作,包括同步文件.设置文件权限和所属用户组.删除文件等. (3)cm

saltstack 安装配置详解

SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与python第三方模块(Pyzmq.PyCrypto.Pyjinjia2.python-msgpack和PyYAML等)构建. 通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理.分发文件.采集服务器数据.操作系统

Saltstack module highstate_doc 详解

highstate_doc.read_file output the contents of a file: this is a workaround if the cp.push module does not work. https://github.com/saltstack/salt/issues/37133 help the master output the contents of a document that might be saved on the minions files

saltstack之grains详解

什么是grains: 是salt的一个组件,负责minion第一次启动的时候采集的静态数据,可以用在salt的模块和其他组件中.每次的minion启动(重启)的时候都会采集. 应用场景: 1.在state中使用 用于配置管理模块2.在target中使用,用来匹配minion,例如匹配操作系统使用-G的选项3.用于信息查询,grains保存收集到的客户端的详细信息 查看grains: # salt 'node23.com' grains.ls #查看grains的名称 salt 'node23.c

Saltstack module artifactory 详解

artifactory.get_latest_snapshot Gets latest snapshot of the given artifact artifactory_url URL of artifactory instance repository Snapshot repository in artifactory to retrieve artifact from, for example: libs-snapshots group_id Group Id of the artif

Saltstack module introspect 详解

introspect.service_highstate Return running and enabled services in a highstate structure. By default also returns package dependencies for those services, which means that package definitions must be created outside this function. To drop the packag

Saltstack module inspector 详解

inspector.query Query the node for specific information. Parameters: * **scope**: Specify scope of the query. * **System**: Return system data. * **Software**: Return software information. * **Services**: Return known services. * **Identity**: Return