1.1 salt 常用命令以及 grain pillar

简介:

Saltstack 常用命令

salt 'slaver.test.com' cp.get_file salt://apache.sls /tmp/cp.txt

salt 'slaver.test.com' cp.get_dir salt://test /tmp

salt-run manage.up

salt 'slaver.test.com' cmd.script salt://test/shell.sh

显示存活的客户端

salt

# 更新所有的minion的状态

salt '*' state.highstate


salt-call '192.168.0.100' state.sls webserver


调试Salt

#开启debug日志

salt-minion -l debug

 

#设置默认超时

salt '*' state.highstate -t 60


salt '*' state.sls apache

使用salt对所有的机器使用state这个模块下的sls方法来执行apache这个状态模块

salt '*' state.highstate

使用高级状态 有一个入口文件默认是top.sls

Grains  and    Pillar

Grains里面收集了minion启动时候的所有系统信息,存储在minion端。静态数据,只有重启的时候才重新收集

salt 'linux-node1*' grains.ls


主机匹配

salt -G roles:cgt cmd.run 'uptime'

如果你觉得写在配置文件中不方便,可以写在他的一个默认文件中

vim /etc/salt/grains

web:nginx


在top.sls中匹配使用

[root@linux-node1 salt]# cat /srv/salt/top.sls 

base:

  'os:CentOS':

    - match: grain

    - apache

[root@linux-node1 salt]# salt '*' state.highstate


Pillar:给minion指定它想要的数据

# 在服务端开启pillar

[root@linux-node1 ~]# vim /etc/salt/master

529 pillar_roots:

530   base:

531     - /srv/pillar

552 pillar_opts: False


cat  /srv/pillar/apache.sls

{%if grains['os'] == 'CentOS' %}

apache: httpd

{% elif grains['os'] == 'Debian' %}

apache: apache2

{% endif %}

# 告诉pillar下面哪些主机可以来使用apache.sls文件,这是所有主机*

[root@linux-node1 ~]#  cat /srv/pillar/top.sls

base:

  '*':

    - apache

salt '*' pillar.items

给定标签后

对apache:httpd的minion执行命令

# 刷新pillar,grains是需要重启minion端,pillar是需要刷新

salt '*' saltutil.refresh_pillar

salt -I 'apache:httpd' test.ping


新建用户,且不允许登录

[root@linux-node1 prod]# mkdir user

[root@linux-node1 prod]# cd user/

[root@linux-node1 user]# vim www.sls

www-user-group:

  group.present:

    - name: www

    - gid: 1000

  user.present:

    - name: www

    - fullname: www

    - shell: /sbin/nologin

    - uid: 1000

    - gid: 1000




本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1915108,如需转载请自行联系原作者

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
编解码
Google Earth Engine(GEE)——监督分类出现ConfusionMatrix (Error) User memory limit exceeded.解决方案
Google Earth Engine(GEE)——监督分类出现ConfusionMatrix (Error) User memory limit exceeded.解决方案
728 0
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
802 5
|
资源调度 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python UDF(User-Defined Function)来引用第三方模块
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
存储 Serverless 定位技术
基于MATLAB的全局多项式插值法(趋势面法)与逆距离加权(IDW)法插值与结果分析
基于MATLAB的全局多项式插值法(趋势面法)与逆距离加权(IDW)法插值与结果分析
354 2
|
Kubernetes 容器
k8s集群部署成功后某个节点突然出现notready状态的问题原因分析和解决办法
k8s集群部署成功后某个节点突然出现notready状态的问题原因分析和解决办法
1415 0
|
搜索推荐 Java 开发者
从 Java 小白到大神:一文带你搞懂子类如何“继承”父类江山,开创新世界!
【6月更文挑战第16天】Java中的继承是面向对象的核心,它允许子类继承父类的属性和方法,提高代码复用。通过实例,如`Animal`和`Dog`类,显示了如何创建和覆盖方法。继承不仅简化代码,还支持多态性,是构建可扩展系统的关键。从新手到专家,掌握继承意味着掌握编程的强大工具,能解锁更复杂的系统设计和优化。
354 3
|
Java BI 数据库管理
二叉树---前,中,后序遍历做题技巧(前,中,后,层次,线索二叉树)
二叉树---前,中,后序遍历做题技巧(前,中,后,层次,线索二叉树)
456 11
|
机器学习/深度学习 算法 关系型数据库
【文献学习】DeepReceiver: A Deep Learning-Based Intelligent Receiver for Wireless Communications in the Ph
文章介绍了一种名为DeepReceiver的基于深度学习的无线通信智能接收机模型,它通过输入IQ信号并输出恢复的信息比特流,能够适应不同的调制和编码方式,在噪声、射频损伤、信道衰落等非理想条件下进行性能验证。
446 0
|
API
Unable to register node “xxx“ with API server: Unauthorized
Unable to register node “xxx“ with API server: Unauthorized
1558 0
|
Python
python安装包(模块)的八种方法
python安装包(模块)的八种方法
405 2