Saltstack_使用指南07_远程执行-执行模块
时间:2022-07-26
本文章向大家介绍Saltstack_使用指南07_远程执行-执行模块,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. 主机规划
远程执行教程文档
https://docs.saltstack.com/en/latest/topics/tutorials/modules.html
所有模块文档
https://docs.saltstack.com/en/latest/ref/modules/all/index.html#all-salt-modules
模块在机器上存在的位置
1 [root@salt100 modules]# pwd
2 /usr/lib/python2.7/site-packages/salt/modules
3 [root@salt100 modules]# ll network.py
4 -rw-r--r-- 1 root root 56636 Oct 8 23:56 network.py
注意事项
修改了master或者minion的配置文件,那么必须重启对应的服务。
2. 使用格式
1 # salt调用包括三个主要组成部分:
2 salt '<target>' <function> [arguments]
2.1. 指定目标
上一篇文章详细说过,这里简单说下
1 # target组件允许你过滤minion运行以下功能。默认的是minion ID,如下:
2 salt '*' test.ping
3 salt '*.example.org' test.ping
4
5 # 也可以使用grains:
6 salt -G 'os:Ubuntu' test.ping
7
8 # 也可以使用正则表达式:
9 salt -E 'virtmach[0-9]' test.ping
10
11 # 也可以使用列表:
12 salt -L 'foo,bar,baz,quo' test.ping
13
14 # 或者多个目标类型可以使用复合指定:
15 salt -C 'G@os:Ubuntu and webser* or E@database.*' test.ping
2.2. 指定执行模块
1 # function是由模块提供的一些功能。Salt中有大量可用functions。列出所有可用的functions如下:
2 salt '*' sys.doc
3
4 # 一些例子如下:
5 # 显示当前所有可用的 minion
6 salt '*' test.ping
7
8 # 运行随意的shell命令:
9 salt '*' cmd.run 'uname -a'
2.3. 执行参数
1 # 使用空格作为分隔符
2 salt '*' cmd.exec_code python 'import sys; print sys.version'
3
4 # 可选的,关键字参数也被支持:
5 salt '*' pip.install salt timeout=5 upgrade=True
6 # 改格式为: kwarg=argument
3. 使用示例
3.1. network
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.network.html#module-salt.modules.network
3.2. service
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.rh_service.html#module-salt.modules.rh_service
3.3. cp【可使用Salt-cp代替】
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.cp.html#module-salt.modules.cp
另请参考:saltstack cp模块使用
基本解释:
1 salt根目录:在master中 file_roots 定义的路径
2 例如:假设在master中有如下定义:
3 file_roots:
4 base:
5 - /srv/salt
6
7 那么:salt://vimrc指的实际路径是:/srv/salt/vimrc,这样做的好处是,可以满足state系统中环境的概念。
示例:
1 [root@salt100 other]# pwd
2 /srv/salt/other
3 [root@salt100 other]# ll /srv/salt/other/hosts
4 -rw-r--r-- 1 root root 276 Nov 25 17:59 /srv/salt/other/hosts
5 [root@salt100 other]# salt -L 'salt01,salt02' test.ping
6 salt01:
7 True
8 salt02:
9 True
10 [root@salt100 other]# salt -L 'salt01,salt02' cp.get_file salt://other/hosts /tmp/hehe # 使用cp模块,拷贝到指定 minion
salt-cp使用
salt-cp -L 'salt01,salt02' /etc/hosts /tmp/kkk # 使用 salt-cp 拷贝【建议使用,方便一些】
3.4. state
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html#module-salt.modules.state
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法