SaltStack 基础
介
- Local (本地运行,单机)
- Master/Minion
- Salt ssh(不安装agent,通过ssh 协议来管理)
- 多master(配置多个master)
- 远程执行
- 配置管理
- 云管理 salt-cloud
安装:
Master 端命令
# rpm -ql salt-master
/etc/salt/master # salt-master 主配置文件
/etc/salt/master.d # salt-master 扩展配置文件目录
/etc/salt/pki/master # master key
/usr/bin/salt # master 核心命令
/usr/bin/salt-cp # salt 文件传输命令
/usr/bin/salt-key # salt 证书管理命令
/usr/bin/salt-master # salt-master 服务命令(start,stop,restart)
/usr/bin/salt-run # salt-master runner命令
/usr/bin/salt-unity
(1)salt 命令
在命令可以通过salt -h 获取所有参数解释,这里主要介绍一些常用参数。
Options:
--version #查看saltstack程序的版本号
--versions-report #查看SaltStack程序以及依赖包的版本号
-h #查看帮助信息
-c CONFIG_DIR ,--config-dir=CONFIG_DIR #指定配置文件目录(默认是/etc/salt/)
-t TIMEOUT, --timeout=TIMEOUT #指定超时时间(默认是5秒)
--hard-crash #捕捉到original异常不退出(默认关闭)
-s, --static #以组的形式返回所有Minion的数据
--async #异步执行
-v, --verbose #verbose模式
--show-timeout #显示minion timeout状态
--show-jid 显示任务jid
-b BATCH, --batch=BATCH #按照百分比执行任务
-a EAUTH, --auth=EAUTH,--eauth=EAUTH,--external-auth=EAUTH #指定外部认证
-T, --make-token #生成Master token
--return=RETURNER #指定saltstack return (mysql/redis), 将执行结果存储到mysql/redis,需要在配置文件中指定地址账号密码等
-d, --doc #查看指定模块或者所有模块文档
--args-separator=ARGS_SEPARATOR #设置多个传参指定分隔符(同时执行多个模块)
--summary #显示汇总信息
--username=USERNAME #指定外部认证用户名
--password=PASSWORD #指定外部认证密码
salt 命令参数
(2)salt-key 命令
在master端管理minion key。
Options:
-l ARG, --list=ARG # 显示指定状态的key(支持正则)
-L, #显示所有public keys
-a # 接受指定等待的key(支持正则)
-A # 接受所有等待认证的key
-r key # 拒绝指定等待认证的key(支持正则)
-R # 拒绝所有
--include-all # 显示所有状态的key(包含non-pending状态)
-p key # 打印指定key(支持正则),显示key内容
-P # 打印所有key
-d key # 删除指定key
-D # 删除所有key
-f key # 显示指定key的指纹信息(支持正则)
-F # 显示所有key的指纹信息
salt-key 命令参数
Minion 客户端命令
# rpm -ql salt-minion
/etc/salt/minion # 主配置文件
/etc/salt/minion.d # 扩展配置文件目录
/etc/salt/pki/minion # key
/etc/salt/proxy
/usr/bin/salt-call # salt minion 端主命令,类似于master端的salt
/usr/bin/salt-minion # salt minion 服务命令
/usr/bin/salt-proxy
(1)salt-call
客户端主要命令。
Options:
--version # 查看SaltStack程序的版本号
--versions-report # 查看SaltStack程序以及依赖包的版本号
-h, --help # 帮助信息
-c CONFIG_DIR # 指定配置文件目录(默认/etc/salt/)
--hard-crash # 捕捉到original异常不退出(默认关闭)
-g # 返回的信息生成grains
-m MODULE_DIRS #指定自定义模块目录
-d #查看指定模块所有模块文档
--master=MASTER # 指定saltstack MASTER
--return=RETURNER # 指定return
--local # 运行masterless模式(不需要master端,只对本机负责的一种工作机制)
--file-root=FILE_ROOT # 指定file-root目录
--pillar-root=PILLAR_ROOT # 指定pillar-root目录
--retcode-passthrough # 显示salt-call命令返回状态
--id=ID # 指定一个minion ID
--metadata # 打印metadata信息
--skip-grains # 不加载grains信息
--refresh-grains-cache # 强制刷新grains信息
salt-call 命令参数
Master 端匹配minion 方式
在SaltStack系统中的管理对象叫做Target。简写: tgt
(1)正则表达式
# 正则表达式匹配的是 Minion端的 ID 值
salt -E 'min*' test.ping
(2)list 列表匹配
# 列表匹配也是匹配的Minion端的 ID 值
salt -L minion1,minion2 test.ping
salt -L minion1, test.ping
salt -L minion1 test.ping
(3)Grains 匹配
# 通过minions的grains item 来匹配
salt -G 'os:CentOS' test.ping
(4)组匹配
# 通过对minion分组,对整个组进行匹配,操作,groups是组名
# 组是需要人为划分的
salt -N groups test.ping
(5)复合匹配
# 复合匹配支持使用and和or关联多个条件
salt -C 'G@os:Centos or L@Minion1' test.ping
(6)Pillar值匹配
# key:value 是Pillar系统中定义的一组键值对,跟Grains的键值对类似。
salt -I 'key:value' test.ping
(7)CIDR匹配
# 通过一个指定的CIDR网段,这里CIDR匹配的IP地址是Minion连接Master 4505端口的来源地址
salt -S '192.168.1.0/24' test.ping
对Minions 进行分组
通过对minion id 进行分组,可以通过组这个概念来批量操作受控主机。分组信息默认保存在 /etc/salt/master。可以通过创建子配置文件的方式来修改存放分组信息的文件。在master的主配置文件中有include配置文件(子配置文件)的设定: default_include: master.d/*.conf , 目录和文件都需要自己来创建。这样可以避免直接操作Master主配置文件 。
分组语法:
注意:分组语法与匹配类似,注意区分。匹配中可以使用and, or 及not等boolean 型操作。
分组配置文件示例
# /etc/salt/master.d/group.conf nodegroups:
group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'
group2: 'G@os:Debian and foo.domain.com'
group3: 'G@os:Debian and N@group1'
group4:
- 'G@foo:bar'
- 'or'
- 'G@foo:baz
分组后记得需要重启salt-master,才能加载新的分组信息。
Salt 批处理执行方式
# 每次同时执行10台执行,就是每10台一组执行cmd.run
[root@salt-master ~]# salt '*' -b 10 cmd.run 'whoami' Executing run on ['salt-master '] salt-master :
root
jid:
20171222160450456555
retcode:
0
SaltStack 基础的更多相关文章
- 1.saltstack基础笔记
环境: master: 节点node1:阿里云:121.42.195.15 centos6.6 minion: 节点node2:腾讯云:182.254.157.19 centos6.6 一.salts ...
- Saltstack基础
salt介绍 salt简单介绍 一个基础平台管理工具 一个配置管理系统,能够维护预定义状态的远程节点 一个分布式远程执行系统,用来在远程节点上执行命令和查询数据 salt的核心功能 使命令发送到远程系 ...
- saltstack基础知识
saltstack简介 saltstack基于python开发的C/S架构的配置管理工具,分为服务器端salt-master和客户端salt-minion.并且支持浩称最快的ZeroMQ消息队列机制, ...
- saltstack 基础入门文档
saltstack 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件.Salt 有两个主要的功能:配置管理和远程执行.这里讲述了saltstack的基本使用方法. ...
- saltstack基础篇
使用saltstack的前提是PPT 服务.流程.工具和技术 安装 rpm -Uvh http://mirrors.yun-idc.com/epel/6Server/x86_64/epel- ...
- [SaltStack] 基础介绍
今天有时间把以前研究过的saltstack梳理总结下 -:) salt是干什么的我就不多说了, 大家Google下资料很多的, 简单来说就是func+puppet: 配置文件管理 远程命令调用 Cro ...
- saltstack 基础模块
Salt 在 linux 系统下 基础操作 1.更改权限 # salt 2.更改用户 # salt '172.16.3.9' file.chown /root/test test test 3.复制文 ...
- 二、saltstack基础配置
super65 master 192.168.1.65 super66 minion 192.168.1.66 主配置文件: [root@super65 ~]# ll /etc/sa ...
- saltstack之基础入门系列文章简介
使用saltstack已有一段时间,最近由于各种原因,特来整理了saltstack基础入门系列文章,已备后续不断查阅(俗话说好记性不如烂笔头),也算是使用此工具的一个总结.saltstack的前六篇文 ...
随机推荐
- C++ IDE环境
--------siwuxie095 IDE:集成开发环境,包括:编辑器.编译器.调试器.图形用户界面工具 以及其他的一些小工具 ...
- CentOS7下NFS服务安装及配置
系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1.3.0-0.48.el7_4.x86_ ...
- 有些标签的class有多个值,用空格隔开的,是什么意思阿?
这个div同时应用了三个class.三个class的设置都会对它起作用,相互冲突时,越后面的class优先权越高.
- jvm编译环境搭建 win Vc篇
/************************************************************** 技术博客 http://www.cnblogs.com/itdef/ ...
- DataStage 错误集(持续更新)
DataStage 错误集(持续更新) DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 D ...
- jquery.validate remote 和 自定义验证方法
jquery.validate remote 和 自定义验证方法 $(function(){ var validator = $("#enterRegForm").validate ...
- Selenium Webdriver定位元素的几种方式
原文:http://www.cnblogs.com/tobecrazy/p/4570494.html 工作中使用到记录一下. 主要有: 上传 alter dialog prompt dialog co ...
- python使用git进行版本控制2
对上一次的readme文件进行修改 现在,运行git status命令看看结果 $ git statusOn branch masterChanges not staged for commit: ...
- 装饰者模式及C++实现
装饰者模式 时常会遇到这样一种情况,我已经设计好了一个接口,并且也有几个实现类,但是这时我发现我设计的时候疏忽了,忘记了一些功能,或者后来需求变动要求加入一些功能,最简单的做法就是修改接口,添加函数, ...
- solr特点二:Facet
返回查询集合中指定field的统计情况,例如找到city一样的文档数目: 加入文档 <add> <doc> <field name="id">1 ...