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之常用模块学习(二)
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
随机推荐
- python爬虫入门---第一篇:获取某一网页所有超链接
这是一个通过使用requests和BeautifulSoup库,简单爬取网站的所有超链接的小爬虫.有任何问题欢迎留言讨论. import requests from bs4 import Beauti ...
- CSS盒模型的介绍
CSS盒模型的概念与分类 CSS盒模型就是一个盒子,封装周围的HTML元素,它包括内容content.边框border.内边距padding.外边距margin. CSS盒模型分为标准模型和 ...
- .NET代码设计简单规范
以下转载于:http://www.it28.cn/ASPNET/825095.html 下面这个规范是我为朋友写的几点建议,写的很范,作为BLOG,愿与大家一起分享.只给出部分设计规范样例,关于.NE ...
- web应用
实现HttpServlet的Web应用 <dependency> <groupId>javax.servlet</groupId> <artifactId&g ...
- (网页)java中Collections.sort排序详解(转)
转自CSDN: Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b, ...
- Yarn 安装 on centos7
本文演示如何在CentOS7上安装Yarn.注意这个Yarn是Js包管理器,不是Hadoop的资源调度器. 1 准备工作 1.1 浏览器访问安装包下载地址: https://github.com/ya ...
- 洗礼灵魂,修炼python(39)--面向对象编程(9)—魔法方法表
好的,不多说,大招来了,几乎完整的魔法方法: 基本的魔法方法 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Defi ...
- python遍历本地文件系统 按文件大小排序
在这个例子中,主要会用到python内置的和OS模块的几个函数: os.walk() : 该方法用来遍历指定的文件目录,返回一个三元tuple(dirpath, dirnames, filenames ...
- 【PAT】B1073 多选题常见计分法(20 分)
此处为我的存储结构,只提供一种思路,二维数组存储所有数据 #include<stdio.h> #include<string.h> #include<map> #i ...
- Django框架的使用教程--视图和路由[二]
视图和路由 1.创建一个django_test应用 2.setting中设置django_test INSTALLED_APPS = [ 'django.contrib.admin', 'django ...