为什么80%的码农都做不了架构师?>>>
saltstack除了salt命令外还有一些其他命令也可以用来辅助管理客户端节点,例如:salt-run、salt-key、salt-cp、salt-call、salt-ssh、salt-api
salt-run
salt-run是一个前端命令,用来执行salt runners。salt runners是在master上执行的一些简单的模块,重点是在master上执行的,不是在minion端
--version
打印当前运行的salt版本
--versions-report
打印程序的依赖性和版本号
-h, --help
查看帮助信息
-c CONFIG_DIR, --config-dir=CONFIG_dir
设置配置文件的目录,这个目录默认在master和minion上市通用的。默认的配置文件目录是/etc/salt。
-t TIMEOUT, --timeout=TIMEOUT
等待minion回复消息的超时时间,超时时间指定了命令行客户端等待多长时间去向minion查询并检查执行的job,默认是1。
-d, --doc, --documentation
显示runner的帮助文档。
-l LOG_LEVEL, --log-level=LOG_LEVEL
设置日志相关信息,在命令行设置的log信息会覆盖配置文件的日志配置,该参数设置在console中显示的日志级别,主要有以下级别 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.
salt-key
salt-key:简单的管理salt服务器端的公钥
-q, --quiet
安静模式,取消输出内容
-y, --yes
对所问的问题回答yes,默认是False
--log-file=LOG_FILE
默认是 /var/log/salt/minion.
--log-file-level=LOG_LEVEL_LOGFILE
该参数设置在日志文件中显示日志的级别,主要有以下级别 all, garbage, trace, debug, info, warning, error, quiet. 默认是: warning.
--out
替换默认的返回数据的显示格式,主要支持以下格式:grains, highstate, json, key, overstatestage, pprint, raw, txt, yaml
如果你的返回数据不支持你指定的显示数据的格式,则salt默认使用pprint格式
如果你使用 --out=json返回格式,,你可能希望使用--static模式.。如果没有使用static选项,你会在所有的minion客户端得到JSON字符串,这取决于你是否使用了一个迭代的outputter,所以建议你使用 --static
--out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
打值印输出值中的缩进, 负值则禁用缩进,只适用于支持缩进的 outputters
--out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
指定输出到一个文件
--no-color
不显示颜色
--force-color
强制显示颜色
绿色表示成功,红色表示失败,蓝色表示有改动,但是成功执行,黄色表示配置未来会改变
-l ARG, --list=ARG
列出公钥,参数 pre, un, 和unaccepted 会列出 unaccepted/unsigned keys, acc oraccepted 会列出accepted/signed keys.,rej or rejected会列出rejected keys,最后, all 列出所有keys
-L, --list-all
列出所有的公钥
-a ACCEPT, --accept=ACCEPT
接受一个指定的客户端公钥
-A, --accept-all
接受所有被阻止的客户端公钥
-r REJECT, --reject=REJECT
拒绝指定的客户端公钥
-R, --reject-all
拒绝所有被阻止的客户端公钥
-p PRINT, --print=PRINT
打印指定的客户端公钥
-P, --print-all
打印所有的客户端公钥
-d DELETE, --delete=DELETE
删除指定的客户端公钥
-D, --delete-all
删除所有的客户端公钥
-f FINGER, --finger=FINGER
打印指定公钥的指纹
-F, --finger-all
打印所有公钥的指纹
--gen-keys=GEN_KEYS
Set a name to generate a keypair for use with salt
--gen-keys-dir=GEN_KEYS_DIR
Set the directory to save the generated keypair. Only works with 'gen_keys_dir' option; default is the current directory.
--keysize=KEYSIZE
Set the keysize for the generated key, only works with the '--gen-keys' option, the key size must be 2048 or higher, otherwise it will be rounded up to 2048. The default is 2048.
salt-cp
salt-cp:拷贝一个本地文件到所有匹配的minion客户端
-t TIMEOUT, --timeout=TIMEOUT
超时时间,默认是5
-E, --pcre
使用PCRE正则配置minion客户端
-L, --list
具体列出要拷贝到的minion客户端名称
-G, --grain
根据minion客户端的grain来区分拷贝地址
--grain-pcre
使用PCRE正则匹配grain的返回值来确定要拷贝的minion客户端
-N, --nodegroup
根据分配的组来确定拷贝地址
-R, --range
Instead of using shell globs to evaluate the target, use a range expression to identify targets. Range expressions look like %cluster.
Using the Range option requires that a range server is set up and the location of the range server is referenced in the master configuration file.
salt-call
salt-call:在minion本地运行module的功能,而不是在master上远程控制minion来运行module
-g, --grains
返回grains生成的信息
-m MODULE_DIRS, --module-dirs=MODULE_DIRS
从一个指定的目录获取模块,多个目录可以用逗号分开
--master=MASTER
设置一个master,该minion客户端必须在这个master上经过认证,如果没有进行设置,则默认会从minion的配置文件中获取master地址,如果有多个master,则第一个生效
--return RETURNER
设置salt-call把返回的数据发送到一个或者多个returner接口,如果返回到多个returnners接口,多个接口之间用逗号分隔即可
--local
在本地运行salt-call,就好像没有master在运行一样。
salt-ssh
salt-ssh:允许你使用ssh协议在客户端执行命名,而不需要安装master
-r, --raw, --raw-shell
执行一个原始的shell命令
--priv
指定一个私钥进行验证
--roster
指定哪个roster系统要被使用,可以是database、scanner、custom roster,默认是平面文件roster系统
--roster-file
指定默认的roster本地文件位置,默认的文件名是roster,位置在master的/etc/salt//roster
--refresh, --refresh-cache
q强制刷新master上的缓存数据,这种情况一般出现在minion的grains已经变化了的情况
--max-procs
同时和多少minion进行通讯,启动的进程越多则通讯的速度越快,默认是25
-i, --ignore-host-keys
忽视ssh主机keys,默认情况下连接要征求同意
--passwd
在连接进行认证时设置默认的密码
--key-deploy
Set this flag to attempt to deploy the authorized ssh key with all minions. This combined with --passwd can make initial deployment of keys very fast and easy.
/etc/salt/roster文件的格式如下:
web1:
host: IP # The IP addr or DNS hostname
user: test # Remote executions will be executed as user fred
passwd: xxxxx