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之常用模块学习(二)
		
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
 
随机推荐
- 初学CSS-2-文本的属性
			
文本装饰属性: 格式:text-decoration:underline: 取值:underline(下划线) line-through(删除线) overline(上划线) none(什么都没有) ...
 - 七牛云java(服务端)通用工具类
			
前言 需要安装lombok插件. 功能列表 上传本地文件 上传Base64图片 获取文件访问地址 上传MultipartFile 代码 pom.xml <dependency> <g ...
 - VUE 实现复制内容到剪贴板功能
			
注: 依赖第三方插件 clipboard 一.安装插件 npm install vue-clipboard2 --save 二.全局注入(main.js) import VueClipboard fr ...
 - CloudSim源代码学习——服务代理商(DatacenterBroker)
			
DatacenterBroker.java文件如下: (其中,相关语句已经做好标注) /* * Title: CloudSim Toolkit * Description: CloudSim (Clo ...
 - Jni 线程JNIEnv,JavaVM,JNI_OnLoad(GetEnv返回NULL?FindClass返回NULL?)
			
此文章是关于NDK线程的第二篇理论知识笔记.主要有两个点,如下: 1.pthread_create(Too many arguements, expected 1) ?2.线程中如何获取JNIEnv? ...
 - Android架构篇--MVP模式的介绍篇
			
摘要: 在MVVM成熟之前MVP模式在Android上有被神化的趋势,笔者曾经在商业项目中从零开始大规模采用过MVP模式对项目进行开发.在使用MVP模式进行开发的时候发现项目的结构模式对开发是有一定的 ...
 - 【转载】Android RecyclerView 使用完全解析 体验艺术般的控件
			
崇拜下鸿洋大神,原文地址:http://blog.csdn.net/lmj623565791/article/details/45059587 概述 RecyclerView出现已经有一段时间了,相信 ...
 - kNN处理iris数据集-使用交叉验证方法确定最优 k 值
			
基本流程: 1.计算测试实例到所有训练集实例的距离: 2.对所有的距离进行排序,找到k个最近的邻居: 3.对k个近邻对应的结果进行合并,再排序,返回出现次数最多的那个结果. 交叉验证: 对每一个k,使 ...
 - maven(一):是否有必要使用maven
			
以下是普通项目和maven项目 分别引入spring core模块的区别 1,假设我们有十个项目,都需要引入spring core模块,那么需要十份重复的Spring core.jar和commons ...
 - C#语言————第二章    C#语言快速热身
			
第二章 C#语言快速热身 ***********一.选择结构**************** 1:if选择结构与java的if选择结构语法完全相同 2:switch选择结构 ①:常量表达式的值可 ...