SaltStack 学习笔记 - 第十篇: Salt 和 Salt-key
2014-06-10 17:28
549 查看
在进行salt操作时候,salt ,跟salt-key是两个经常用到的命令,这里对这两个命令的用法进行说明,也对两个命令的参数进行说明,外文水平有限,就当做是参考参考。
Salt 命令
salt命令的帮助信息翻译:
测试所有的minion,并显示超时的对象
使用json输出方便进行二次开发,调用信息
复杂的minion匹配方式
salt-key 命令
sat-key的帮助文件中文信息:
salt-key的使用实例:
本文出自 “纳米龙” 博客,请务必保留此出处http://arlen.blog.51cto.com/7175583/1424684
Salt 命令
salt命令的帮助信息翻译:
### [root@localhost salt]# salt --help Usage: salt [options] '<target>' <function> [arguments] Options: --version 版本号 --versions-report 依赖包版本号 -h, --help 显示帮助信息 -c CONFIG_DIR, --config-dir=CONFIG_DIR 指定配置文件目录. 默认: /etc/salt -t TIMEOUT, --timeout=TIMEOUT 指定命令超时时间 建议默认:5秒 -s, --static 等到所有minions都执行完了再一起显示数据 --async 运行所有的salt命令不等待返回结果 --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT 覆盖掉配置文件中对minion输出内容所定义的 state_output 值 默认: full --subset=SUBSET 对目标minions的随机子集执行程序. minions在执行前会先验证是否存在该命名的函数,再去执行 -v, --verbose 可以查看详细的命令执行情况 --show-timeout 显示命令执行超时的 minions -b BATCH, --batch=BATCH, --batch-size=BATCH 开启salt命令批量执行模式, 既可以指定一批minions, 也可以用指定百分比的方式确定多少minions批量执行 -a EAUTH, --auth=EAUTH, --eauth=EAUTH, --extended-auth=EAUTH 指定一个扩展的认证系统. -T, --make-token 创建并保存一个认证token用于重用. 生成的token确保Salt Master在指定的周期内有效. --return=RETURNER 设置一个其它的返回方法. 默认情况下,salt查询后结果会返回给master, 指定return后,数据可以重定向其它的任意数量的系统,数据库或应用. -d, --doc, --documentation 返回指定模块的文档说明,不指定特定的模块则返回全部 --args-separator=ARGS_SEPARATOR 指定发送命令跟命令参数的分隔符. 当用户想把一个命令当作参数发送给另一个命令执行时, 是个很好用的选项. Logging Options: 指定下面的配置选项会覆盖掉配置文件中对应的配置信息. -l LOG_LEVEL, --log-level=LOG_LEVEL 日志等级. 其中一个: 'all', 'garbage', 'trace', 'debug', 'info', 'warning', 'error', 'quiet'. 默认: 'warning'. --log-file=LOG_FILE 日志文件路径. 默认: /var/log/salt/master. --log-file-level=LOG_LEVEL_LOGFILE 日志文件记录等级. 其中一个 'all', 'garbage', 'trace', 'debug', 'info', 'warning', 'error', 'quiet'. 默认: 'warning'. Target Options: Target Selection Options -E, --pcre 使用pcre(perl)的正则表达式规则匹配目标 -L, --list 列出一组用逗号或空格隔开的minions id作为执行目标. -G, --grain 使用grain信息中指定的机器作为目标 例如: "os:Arch*" 'os:CentOS' --grain-pcre 使用基于pcre正则式规则的grain匹配目录 例如: "os:Arch.*" -N, --nodegroup 使用预先定义的节点组作为匹配目标. -R, --range 使用一个范围表达式去查找目标. 例如: %cluster -C, --compound 多条件指定目标,根据多个条件筛选匹配目标 类似: salt 'G@os:RedHat and webser* or E@database.*' -X, --exsel Instead of using shell globs use the return code of a function. -I, --pillar 使用一个pillar 的值来筛选目标, 例如: "role:production*" -S, --ipcidr 基于子网络匹配 (CIDR notation) or IPv4 address. Output Options: 配置你的完美输出格式 --out=OUTPUT, --output=OUTPUT 指定输出的格式,开发一般用json,默认是yaml 可选如下: 'no_return', 'grains', 'yaml', 'overstatestage', 'json', 'pprint', 'nested', 'raw', 'highstate', 'quiet', 'key', 'txt', 'virt_query'. --out-indent=OUTPUT_INDENT, --output-indent=OUTPUT_INDENT 指定行缩进的空格数. 负数为取消行缩进. 只有在输出格式适合行缩进,该参数才有效. --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE 内容输出到指定的文件 --no-color, --no-colour 关闭颜色显示 --force-color, --force-colour 强制颜色显示salt 使用实例:
测试所有的minion,并显示超时的对象
# salt '*' test.ping --show-timeout # 加入 --show-timeout 选项,可以在测试结果中显示连接失败的minion,如果不加该参数,对于测试失败的minion,返回结果不会显示出来
使用json输出方便进行二次开发,调用信息
# salt '*' status.meminfo --out=json ## 指定json格式的输出,方便作为数据给web进行显示,或是python进行解析
复杂的minion匹配方式
# salt 'G@os:RedHat and webser* or E@database.*' status.meminfo
salt-key 命令
sat-key的帮助文件中文信息:
[root@localhost ~]# salt-key --help Usage: salt-key [options] Salt key 用于管理认证key Options: --version 显示版本号后退出 --versions-report 显示程序的所有依赖包版本号,并退出 -h, --help 帮助信息 -c CONFIG_DIR, --config-dir=CONFIG_DIR 指定配置目录,默认 :/etc/salt/ -q, --quiet 安静模式,不输出信息到控制台 -y, --yes 对所有询问是否继续,回答yes,默认:false Logging Options: 设置loggin选项会覆盖掉配置文件中对日志的配置. --log-file=LOG_FILE 指定日志文件路径,默认: /var/log/salt/key. --log-file-level=LOG_LEVEL_LOGFILE 日志文件等级,可设置下面中的一个值 'all', 'garbage', 'trace', 'debug', 'info', 'warning', 'error', 'quiet'. 默认: 'warning'. --key-logfile=KEY_LOGFILE 将所有的输出发送到指定的文件,默认: '/var/log/salt/key' Output Options: 配置输出格式 --out=OUTPUT, --output=OUTPUT 把salt-key命令的输出信息发送给指定的outputer. 可设置为下面参数值 'no_return', 'virt_query'. 'grains', 'yaml', 'overstatestage', 'json', 'pprint', 'nested', 'raw', 'highstate', 'quiet', 'key', 'txt', --out-indent=OUTPUT_INDENT, --output-indent=OUTPUT_INDENT 设置输出行缩进的空格数. 负数取消输出缩进编排.仅对使用的outputer有效. --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE 把显示输出到指定的文件 --no-color, --no-colour 关闭字体颜色 --force-color, --force-colour 强制开启输出颜色渲染 Actions: -l ARG, --list=ARG 打印公钥key. 可设置下面三个值 "pre", "un", and "unaccepted" 会显示 不许可/未签名 keys. "acc" or "accepted"会显示 许可/已签名 keys. "rej" or "rejected"会显示拒绝的 keys. "all" 会显示所有 keys. -L, --list-all 会显示所有公钥,相当月: "--list all" -a ACCEPT, --accept=ACCEPT 许可指定的公钥(使用--include-all选项 可以指定除了挂起的key外的所有reject状态的公钥) -A, --accept-all 许可所有pending的公钥 -r REJECT, --reject=REJECT 拒绝指定的公钥 (使用--include-all选项 可以指定除了挂起的key外的所有accept状态的公钥) -R, --reject-all 拒接所有pending的公钥 --include-all 配合 accepting/rejecting 选项使用,指定所有非pending状态的公钥 -p PRINT, --print=PRINT 打印指定的公钥 -P, --print-all Print all public keys -d DELETE, --delete=DELETE 根据公钥的名称删除公钥 -D, --delete-all 删除所有 keys -f FINGER, --finger=FINGER 打印指定key的指纹信息 -F, --finger-all 打印所有key的指纹信息 Key 常用选项: --gen-keys=GEN_KEYS 对生成的key配置设置一个salt使用的名称。 --gen-keys-dir=GEN_KEYS_DIR 设置生成key对的放置目录,默认当前目录。default=. --keysize=KEYSIZE 为生成key设置位数, 仅跟--gen-keys选项配合时有效, 数值大小必须大于2048,否则会被提升至2048位,默认2048 default=2048
salt-key的使用实例:
# # 显示所有minion的认证信息 salt-key -L # 接受192.168.0.100的认证信息 salt-key -a 192.168.0.100 # 接受192.168.0.100的认证信息,不需要手动验证 salt-key -a 192.168.0.100 -y # 接受192.168.0.100的认证信息,即使该minion是Rejected Keys状态 salt-key -a 192.168.0.100 --include-all # 接受所有 Unaccepted Keys 状态的minion的认证信息 salt-key -A # 拒绝认证192.168.0.100 salt-key -d 192.168.0.100 # 拒绝所有 Unaccepted Keys 状态的minion salt-key -D
本文出自 “纳米龙” 博客,请务必保留此出处http://arlen.blog.51cto.com/7175583/1424684
相关文章推荐
- SaltStack 学习笔记 - 第五篇: 详解Grain
- SaltStack 学习笔记 - 第九篇: 深入States
- SaltStack 学习笔记 - 第三篇: Salt-Minion配置文件详解
- SaltStack 学习笔记 - 第七篇: Targeting
- SaltStack 学习笔记 - 第十一篇: SaltStack 文件操作
- SaltStack学习笔记之安装zabbix_agentd(jinja和pillar)
- saltstack自动化运学习笔记
- 3.saltstack的grains和pillar学习笔记
- SaltStack 学习笔记 - 第四篇: SaltStack常用模块
- SaltStack学习笔记
- Saltstack 学习笔记(一)
- saltstack自动化部署 - 学习笔记
- SaltStack 学习笔记 - 第六篇: 详解Pillar
- Saltstack自动化的学习笔记
- saltstack学习笔记-乱
- SaltStack 学习笔记 - 第十三篇:saltstack的编程开发
- SaltStack 学习笔记 - 第八篇: 了解States
- SaltStack 学习笔记 - 第十二篇: SaltStack Web 界面
- Java keytool 安全证书学习笔记
- linq学习笔记:将List<T> 转换为 Dictionary<T Key,T Value>