saltstack自动化运维系列②之saltstack的数据系统

grains:搜集minion启动时的系统信息,只有在minion启动时才会搜集,grains更适合做一些静态的属性值的采集,例如设备的角色(role),磁盘个数(disk_num)等诸如此类非常固定的属性,另一个作用可以用来匹配minion

列出所有的grains选项

# salt '*' grains.ls

列出所有grains和内容

# salt 'mini1' grains.items

显示单个grains内容,get方法直接显示值,item方法会把条目名也显示出来
获取单独的变量值fqdn名
# salt 'node2.chinasoft.com*' grains.item fqdn
node2.chinasoft.com:
----------
fqdn:
node2.chinasoft.com
[root@mini1 ~]# salt 'node2*' grains.get fqdn
node2.chinasoft.com:
node2.chinasoft.com

# salt 'node2*' grains.get os
node2.chinasoft.com:
CentOS

# 匹配执行,系统为centos的主机执行命令

[root@mini1 ~]# salt -G os:CentOS cmd.run 'w'
node2.chinasoft.com:
11:49:06 up 4 days, 3:15, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 23Dec16 13days 0.25s 0.25s -bash
root pts/1 192.168.3.84 Thu20 5:51 0.02s 0.02s -bash
mini1:
11:49:07 up 2 days, 6:25, 1 user, load average: 0.00, 0.04, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/2 192.168.3.84 Thu20 1.00s 0.58s 0.52s /usr/bin/python

使用grains匹配minion主机

模拟使用grains匹配minion,-G代表指定grains匹配

vim /etc/salt/minion

打开grain的配置
grains:
roles:
- webserver
- memcache
# /etc/init.d/salt-minion restart
# salt -G 'roles:memcache' cmd.run 'echo hehe'
mini1:
hehe

添加grains,默认会到/etc/salt/grains中读取,手动添加到/etc/salt/grains即可
如添加自定义角色
# cat /etc/salt/grains
web: nginx

# salt -G web:nginx cmd.run 'w'
mini1:
12:25:05 up 2 days, 7:01, 1 user, load average: 0.04, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/2 192.168.3.84 Thu20 0.00s 0.64s 0.50s /usr/bin/python
[root@mini1 ~]# salt '*' grains.item roles
mini1:
----------
roles:
- webserver
- memcache
node2.chinasoft.com:
----------
roles:

pillar的使用及配置
要使用pillar,首先要修改master中的配置
更改配置文件打开pillar,默认是关闭的
vim /etc/salt/master

pillar_opts: True

pillar_roots:
base:
- /srv/pillar

mkdir /srv/pillar

查看master自带的pillar条目,实际生产是不打开的,自带的pillar用处不大,所以一般都会设置成false,使用自己定义的pillar

手动定义一个pillar

# cat /srv/pillar/apache.sls

{% if grains['os'] == 'CentOS' %}
apache: httpd
{% elif grains['os'] == 'Debian' %}
apache: apache2
{% endif %}# cat /srv/pillar/top.sls
base:
'*':
- apache

刷新策略
# salt '*' saltutil.refresh_pillar

# salt '*' pillar.items
mini1:
----------
apache:
httpd
node2.chinasoft.com:
----------
apache:
grains与pillar的区别

grains存储的是静态、不常变化的内容;pillar则相反,存储的是动态数据
grains是存储在minion本地,可以使用saltutil.sync_grains刷新;而pillar存储在master本地,可以使用saltutil.refresh_pillar来刷新
minion有权限操作自己的grains值,如增加、删除,可以用来做资产管理等;pillar存储在master中指定数据,只有指定的minion才可以看到,可以用来存储敏感数据,minion无权修改

转载于:https://www.cnblogs.com/reblue520/p/6732844.html

saltstack自动化运维系列②之saltstack的数据系统相关推荐

  1. saltstack 管理mysql_saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入...

    saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入 salt的返回值写入mysql数据库: 可参考: https://docs.saltstack.com/en/ ...

  2. SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)...

    原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的 ...

  3. 七天学会SALTSTACK自动化运维 (3)

    七天学会SALTSTACK自动化运维 (3) 导读 SLS TOP.SLS MINION选择器 SLS文件的编译 总结 参考链接 导读 SLS SLS (aka SaLt State file) 是 ...

  4. saltstack自动化运维部署--安装apache\原码安装nginx服务

    对saltstack自动化运维部署的认识 原理 SaltStack 是一种基于 C/S 架构的服务器基础架构集中化管理平台,管理端称为 Master,客户端称为 Minion.SaltStack 具备 ...

  5. Linux运维系列总结-Linux系统启动过程、WEB工作原理、DHCP工作原理、DNS解析原理、NFS网络文件系统、FTP文件传输协议、PXE+KICKSTART自动安装系统

    Linux运维系列总结-Linux系统启动过程.WEB工作原理.DHCP工作原理.DNS解析原理.NFS网络文件系统.FTP文件传输协议.PXE+KICKSTART自动安装系统 1.Linux系统的启 ...

  6. 企业级自动化运维方案设计及Saltstack、Ansible等5种工具比较分析--云平台技术栈08...

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的服务器自动化配置! 来自:公众号talkwithtrend 1.企业运维现状与发展趋势 随着企业信息化的不断发展,运维人员需要面对 ...

  7. saltstack 自动化运维管理

    一.简介 saltstack是一个配置管理系统,能够维护预定义状态的远程节点. saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据. saltstack是运维人员提高工作效 ...

  8. 自动化运维批量管理saltstack

    让运维的日常工作--实现自动化 0)需求分析 1)机房设备上下架 2)系统初始化 3)应用环境初始化 4)应用部署 调试 配置 5)代码的发布 6)服务监控  应用   系统监控 7)数据备份 Sat ...

  9. SaltStack 自动化运维详解

    一.自动化运维工具对比 使用所需软件配置单个服务器是一项相当简单的任务. 但是,如果许多服务器需要安装相同或相似的软件和配置,则该过程将需要大量的工时才能完成,这会耗尽您本已紧张的资源.如果没有某种形 ...

最新文章

  1. 分布式版本控制工具:git与Mercurial(zz)
  2. JAVA中定义常量的几种方式
  3. 11-提升R语言程序性能gc()
  4. 礼县职业中等专业学校计算机,礼县职业中等专业学校
  5. 计算机视觉实战(十一)Scale Invariant Feature Transform(SIFT)(附完整代码)
  6. 股市底部上证指数与物价上涨的关系01
  7. 打印机如何打印白色_打印机可以打印白色吗?
  8. Python开发之路(5)— 使用HTTP获取天气情况
  9. matlab 期权图,欧式看涨期权定价作图|MATLAB 程序化交易(量化投资)|MATLAB技术论坛 - Powered by Discuz!...
  10. 自己动手用3D打印出你的个人数学科技馆
  11. PostgreSql 配置文件 postgresql.conf 参数设置
  12. GCN与GAT之间的重要联系和区别
  13. 图像超分辨率重建(pytorch)
  14. ipadpro如何分屏_不再泡面!大学生如何用iPad高效学习
  15. IntelliJ IDEA 等软件 激活
  16. 红与黑 vs 漂亮朋友 同一个梦想,不同的命运
  17. 使用openssl的EVP接口使用sm2算法加解密等操作
  18. 基于Spring 4.0 的 Web Socket 聊天室/游戏服务端简单架构
  19. 理解什么是restful
  20. 一种新能源汽车整车控制器VCU测试工装-ETest

热门文章

  1. linux进程热更新 go,Golang热更新原理
  2. Android studio吧,Android Studio 连接真机
  3. ncbi查找目的基因序列_NCBI gene: 基因相关信息查询
  4. ubuntu 无法启动mysql_解决ubuntu下安装mysql使用service 无法启动问题
  5. Linux系统安装yum源报错256,Redhat Linux RHEL6配置本地YUM源及错误处理
  6. 如何用c语言编写工程文件夹,利用makefile实现c语言项目编译
  7. 栈的pop和peek_从堆栈中移除项目,而不使用pop、peek、push
  8. Java内部类 Inner Class
  9. jenkins 手动执行_Jenkins环境配置篇-增加节点
  10. oracle 慕课课程_我在慕课网学习到的oracle