设为首页 收藏本站
查看: 1204|回复: 0

[经验分享] saltstack自动化运维系列②之saltstack的数据系统

[复制链接]

尚未签到

发表于 2018-1-3 20:44:51 | 显示全部楼层 |阅读模式
  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
[iyunv@mini1 ~]# salt 'node2*' grains.get fqdn

  node2.chinasoft.com:
  node2.chinasoft.com
  # salt 'node2*' grains.get os
  node2.chinasoft.com:
  CentOS
  # 匹配执行,系统为centos的主机执行命令
[iyunv@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@  >  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@  >  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@  >  root     pts/2    192.168.3.84     Thu20    0.00s  0.64s  0.50s /usr/bin/python
[iyunv@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无权修改

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-431314-1-1.html 上篇帖子: saltstack实战2 下篇帖子: 03-saltstack 基本管理与操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表