Saltstack学习之二:target与模块方法的运行
对象的管理
saltstack系统中我们的管理对象叫做target,在master上我们可以采用不同的target去管理不同的minion,这些target都是通过去管理和匹配minion的id来做的一些集合。
salt [options] '<target>' <function> [arguments]
target参数

1.正则匹配(PCRE)
通过正则表达式来匹配minion id的方式去管理它们:
salt -E '^min' test.ping
通过列表的方式去指定minion id
salt -L minion-01,minion-02 test.ping
使用minion的grains的键值对去匹配minion id
salt -G 'os:centos' test.ping
salt -N groups test.ping
groups为组名,需要在配置文件中定义/etc/salt/master

salt -C 'G@os:centos or L@minion-01' test.ping
支持使用and和or关联多个条件
key:value是pillar系统中定义的一组键值对,与grains
salt -I 'key:value' test.ping
7.cidr匹配
cidr匹配的ip地址是minion连接master4505端口的来源地址
salt -S '192.168.2.0/24' test.ping
模块方法的运行
指定target之后,接下来声明运行的方法(function),上面使用了test.ping方法。
方法包含两个部分,通过点来分割:
<模块名>.<方法>
在salt命令中,模块方法紧随target其后,也可以在最后给方法加任何参数:
salt <target> <模块名>.<方法> [参数...]
saltstack模块
Module是我们日常使用接触最多的一个组件,比如简单的执行命令、查看包安装情况、查看服务运行情况等工作都是通过module来实现的。
查看module列表
#salt ‘minion-01’ sys.list_modules
查看指定module的所有function
#salt ‘minion-01’ sys.list_functions cmd
查看module用法
#salt ‘minion-01’ sys.doc cmd
以下模版是salt的核心部分,每个模块中都包含一些常用方法:
test.ping
salt最基本的命令,只要求minion返回True。用于监测minion是否可响应,如果没有响应,则不一定意味着minion宕掉,也可能是由于minion响应慢,如果连续失败那就要注意了。

test.echo
让minion显示除传递给自己的字符串。

test.sleep
需要minion先sleep若干秒后再返回true,常用测试或验证任务系统。
test.version
返回每个minion的salt版本。

pkg.install
指定一个包名或一组软件包,安装软件包功能。

pkg.remove
指定卸载软件包

file.replace
查找、替换需求
还有其他文件类操作方法

用户及用户组管理

sys.doc
查看minion端的所有方法所有内容。指定模块名字就显示模块相关文档,包含该方法的用途,以及至少一个命令行实例。
Saltstack学习之二:target与模块方法的运行的更多相关文章
- angular学习笔记(二)-创建angular模块
如果在页面的html标签(或任意标签)中添加ng-app,表示对整个页面应用angular来管理. 他是一个模块. 模块有助于把东西从全局命名空间中隔离. 今天学习如何自定义创建模块: <!DO ...
- OpenCV学习笔记二:OpenCV模块一览
注:本系列博客基于OpenCV 2.9.0.0 一,一览图: 二,模块: /* 基础库 */ 1,opencv_core(链接) ,opencv最基础的库.包含exception,point,rect ...
- node.js入门学习(二)MIME模块,request和response对象,demo之不同url请求不同html页面,页面包含图片、样式css等静态资源
一.构建http服务程序-根据不同请求做出不同响应 // 加载http模块 var http = require("http"); // 创建一个http服务对象 http.cre ...
- 爬虫学习(二)requests模块的使用
一.requests的概述 requests模块是用于发送网络请求,返回响应数据.底层实现是urllib,而且简单易用,在python2.python3中通用,能够自动帮助我们解压(gzip压缩的等) ...
- Python学习札记(二十九) 模块2
参考:使用模块 NOTE 1.内建sys模块: #!/usr/bin/env python3 import sys 'a test module' __author__ = 'wasdns' def ...
- Python学习札记(二十八) 模块1
参考:模块 NOTE 1.模块:一个.py文件称为一个模块. 2.代码模块化的意义:a.提升程序的可维护性 b.不用重复造轮子 3.避免模块冲突,解决方法:引入了按目录来组织模块的方法,称为包(Pac ...
- SaltStack学习系列之state常用模块
常用模块:cron,cmd,file,mount,ntp,pkg,service,user,group cmd模块 参数: name:要执行的命令 unless:用于检查的命令,只有unless指向的 ...
- Python学习总结15:时间模块datetime & time & calendar (二)
二 .datetime模块 1. datetime中常量 1)datetime.MINYEAR,表示datetime所能表示的最小年份,MINYEAR = 1. 2)datetime.MAXYEAR ...
- Python之常用模块学习(二)
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
随机推荐
- 关于 ul 嵌套 li 并且再嵌套 a 的 BUG
在写网页的过程中,总是写完了这一套,样式出了问题又去找问题废了好长时间总结一下写法以下是结构 经常会出现 li 里面与文字不在一个高度上 <div class="indicators& ...
- 2017-12-05 JavaScript实现ZLOGO子集: 前进+转向
在前文中文编程语言之Z语言初尝试: ZLOGO 4与相关讨论后, 萌生了用JavaScript编写类似语言以便在线编程的想法. 于是使用 @TKT2016 (知乎账号)的ZLOGO语法设计, 在编程语 ...
- 【工具相关】Web-ionic-npm的安装
一, 一般最新版本的Node.js集悲剧了npm.在命令行下,输入命令: "npm-v",可以测试npm是否安装.如下图所示: 二,上图显示了npm的版本号,即代表已经安装了npm ...
- vue-cli脚手架之package.json
package.json文件配置及其含义,这个是vue-cli自动生成的文件,先贴一张代码及其含义: { "name": "secondproject",//模 ...
- 《ASP.NET MVC企业实战》(一) MVC开发前奏
一.工具和方法 学到了一些没用过的工具和方法: a)删除多余的using指令并排序:一个类头部的using一般会有很多用不到的,在完成类的编写后,可以右键选择”组织using”来删除没用的using并 ...
- Apache POI导出excel表格
项目中我们经常用到导出功能,将数据导出以便于审查和统计等.本文主要使用Apache POI实现导出数据. POI中文文档 简介 ApachePOI是Apache软件基金会的开放源码函式库,POI提供A ...
- 超简单,Centos7 安装 rabbitMQ
首先声明,本人是Linux新手一枚.经历了在阿里云Centos上部署rabbitMQ与重装的痛苦经历,后多方查找终于找到了简单方法.Linux高人来说请跳过本篇文章,新手可以试试. 1.设置Cento ...
- Tensorflow实现稀疏自动编码(SAE)
1.概述 人在获取图像时,并不是像计算机逐个像素去读,一般是扫一眼物体,大致能得到需要的信息,如形状,颜色,特征.怎么让机器也有这项能力呢,稀疏编码来了. 定义: 稀疏自编码器(Sparse Auto ...
- [20180503]珅与分隔符.txt
[20180503]珅与分隔符.txt --//今天再次遇到分隔符问题,以前也遇到过做一次,链接.http://blog.itpub.net/267265/viewspace-763696/--//这 ...
- 高通 sensor 从native到HAL
app注册传感器监听 Android Sensor Framework 的整体架构如下图所示: 前几篇sensor相关的文章介绍了sensor的hal的知识,以press_sensor实时显示气压坐标 ...