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之常用模块学习(二)
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
随机推荐
- NIO学习笔记四 :SocketChannel 和 ServerSocketChannel
Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道.可以通过以下2种方式创建SocketChannel: 打开一个SocketChannel并连接到互联网上的某台服务器. ...
- 多语言网站利器 rel="alternate" hreflang="x"
下面是我在浏览网站时无意看到的,然后就搜了一下,感觉内容不错但我还没有测试,就转载过来做个备注,有时间了在翻过来看看 rel="alternate" hreflang=" ...
- 集合类--最详细的面试宝典--看这篇就够用了(java 1.8)
看了一个星期源码,搜索上百篇博文,终于总结出了集合类的所有基础知识点,学集合,看这篇就够用了!!! 篇幅有点长, 如果你能全部理解,java最重要的集合就不怕了,秒过面试!!!(本篇素材来自网络,如有 ...
- python之socketserver ftp功能简单讲解
TCP协议中的socket一次只能和一个客户端通信,然而socketserver可以实现和多个客户端通信. 它是在socket的基础上进行了一层封装,底层还是调用的socket # 服务端 impor ...
- REM在edge浏览器中不重新计算解决
经过多分析和排查,此问题解决的方案 第一种: 在CSS样式中添加 body { font-size:100% } 如果不起作用,可以尝试将引用的REMjs放在head内引用
- CSS--理解块级格式上下文(BFC)
1.BFC 定义 BFC(Block formatting context)直译为"块级格式化上下文".它是一个独立的渲染区域,只有Block-level box(块级元素)参与, ...
- web全栈架构师[笔记] — 02 数据交互
数据交互 一.http协议 基本特点 1.无状态的协议 2.连接过程:发送连接请求.响应接受.发送请求 3.消息分两块:头.体 http和https 二.form 基本属性 action——提交到哪儿 ...
- Android学习笔记----天地图API开发之UnsatisfiedLinkError
由于在jniLibs目录下移除了x86的相关so文件,后来又因为需要在PC模拟器上调试,将该文件夹恢复后,增加了天地图的sdk,却忘记将libMapEngine.so文件同时拷贝至x86目录下,导致如 ...
- Android之ProgressDialog的使用
ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口. ProgressDialog的创建方式有两种,一种是ne ...
- 【Java入门提高篇】Day29 Java容器类详解(十一)LinkedHashSet详解
当当当当当当当,本来打算出去浪来着,想想还是把这个先一起写完吧,毕竟这篇的主角跟我一样是一个超级偷懒的角色——LinkedHashSet,有多偷懒?看完你就知道了. 本篇将从以下几个方面对Linked ...