SaltStack说明文档

master安装

# 安装
yum -y install salt-master salt-minion salt-ssh
# 启动
systemctl start salt-master salt-minion

master管理端配置

vim /etc/salt/master
#保存以下配置文件即可
interface: 0.0.0.0
file_recv: True
file_roots:
base:
- /srv/salt/
pillar_roots:
base:
- /srv/pillar
nodegroups:
kaifa: 'E@kaifa_*'
test: 'L@test_0001,test_0002'

认证成功的minion文件路径:/etc/salt/pki/master/minions

minion被管理端配置

# 安装
yum -y install salt-minion
# 将master ip添加到hosts
sed -i 's/#master:.*/master: MASTER_IP/' /etc/salt/minion
# 设置minion标识,设置为ip地址
sed -i 's/#id:.*/id: MINION_HostName/' /etc/salt/minion
# 启动
systemctl restart salt-minion

master主机上执行认证

salt-key -L
salt-key -A -y
# 删除单个主机
salt-key -d minion_name
# 删除所有认证主机
salt-key -D
# 被删除minion主机重新认证
rm -f /etc/salt/pki/minion/minion.*
systemctl restart salt-minion
# 检查master主机是否能正常在minion上执行命令
salt '*' test.ping

salt常用命令说明

salt '' [arguments]

target: 执行salt命令的目标,可以使用正则表达式

function: 方法,由module提供

arguments: function的参数

target常用表达式

# 1. 正则表达式
salt -E 'Minion*' test.ping
salt -E 'aaa*|.*bbb*|ccc-*' cmd.run test.ping
# 2. 列表匹配
salt -L Minion,Minion1 test.ping
# 3. Grians匹配
salt -G 'os:CentOS' test.ping
# 4. 组匹配
salt -N groups test.ping
# 5. CIDR匹配
salt -S '127.0.0.1' test.ping
salt -S '10.252.0.0/16' test.ping
salt -S '10.252.137.0/24' test.ping
# 6. 复合匹配
salt -C 'G@os:CentOS or L@Minion' test.ping

function常用表达式

salt '*' cmd.run "hostname'"
salt '*' cmd.script salt://scripts/runme.sh
salt '*' cmd.script salt://scripts/runme.sh 'arg1 arg2 arg3'

salt 传送文件

salt传输文件、文件夹的固定目录为: /srv/salt/

# 传送文件 (mkdirs可选参数,目录不存在,自动创建)
salt "*" cp.get_file salt://iplist /home/iplist makedirs=True
# 传送目录
salt "*" cp.get_dir salt://abc/ home/

salt 远程执行脚本

  • 可将脚本分发到远程服务器,再通过cmd.run命令执行
  • master服务器执行
salt "*" cmd.script salt://test.sh

cp.push 模块使用

允许minion上传文件到master端

注意事项:

cp.push功能默认不开启,需要修改配置文件中的file_recv环境

vim /etc/salt/master

file_recv参数默认为False,修改为True

# 上传的文件存放在master端的/var/cache/salt/master/minions/<minion_id>/files/目录下
salt "*" cp.push /data/backup/DB_$(date +"%Y%m%d").sql

salt-ssh 使用

# 不允许安装minion或不用长期管理某台minion
# 安装
yum -y install salt-ssh
# 配置文件
vim /etc/salt/roster
cat /etc/salt/roster
linux-node1.example.com:
host: 192.168.56.11
port: 22
user: root
passwd: linux-node2.example.com:
host: 192.168.56.12
port: 22
user: root
passwd: 98Vs salt-ssh '*' test.ping
salt-ssh -i --roster-file=roster 'Minion' test.ping
# -r 参数执行shell命令
salt-ssh -i --roster-file=roster 'Minion' -r "hostname"

SaltStack说明文档的更多相关文章

  1. 【腾讯GAD暑期训练营游戏程序班】游戏场景管理作业说明文档

    场景管理作业说明文档                              用了八叉树的算法,测出三层时最快,区域范围内物体数量为21块,控制台打印出的结果如图所示: 场景物体:游戏中,所有具有空 ...

  2. 浏览器内核控制Meta标签说明文档

    浏览器内核控制Meta标签说明文档 原文链接 背景介绍 由于众所周知的情况,国内的主流浏览器都是双核浏览器:基于Webkit内核用于常用网站的高速浏览.基于IE的内核用于兼容网银.旧版网站.以360的 ...

  3. OAuth2.0说明文档

    OAuth2.0说明文档 1.OAuth 2.0 简介 OAuth为应用提供了一种访问受保护资源的方法.在应用访问受保护资源之前,它必须先从资源拥有者处获取授权(访问许可),然后用访问许可交换访问令牌 ...

  4. Net 通用权限管理系统源码 带数据库设计文档,部署说明文档

    Net 通用权限管理系统源码 带数据库设计文档,部署说明文档 包括数据库设计文档部署安装文档源码数据库文件 下载地址:http://www.mallhd.com/archives/1389

  5. SWFUpload 2.5.0版 官方说明文档 中文翻译版

    原文地址:http://www.cnblogs.com/youring2/archive/2012/07/13/2590010.html#setFileUploadLimit SWFUpload v2 ...

  6. 在Sharepoint 2010中启用Session功能的说明文档

    在Sharepoint 2010中启用Session功能的说明文档 开发环境:Windows 7系统,SharePoint Server 2010,Visual Studio 2010 按以下步骤进行 ...

  7. Highcharts选项配置详细说明文档(zz)

    http://www.helloweba.com/view-blog-156.html Highcharts提供大量的选项配置参数,您可以轻松定制符合用户要求的图表,目前官网只提供英文版的开发配置说明 ...

  8. Java基础(60):Java打包生成Jar和Javadoc说明文档,以及在另外的工程中导入和使用自己的Jar

    一.Jar包的导出 1.在Package Explorer中选中项目,右键,点击“Export”   2.在弹出框一次选择Java-->JAR file,点击Next   3.在新弹出的窗口选择 ...

  9. JAVA 文档注释,类的说明,HTML说明文档的生成

    有的时候,我们会写一些类,编译成.class文件,给别人使用,那么,别人不知道这个类有哪些方法,如何调用. 所以我们需要做一个类的说明文档. 可以采用在.java类里面进行注释,通过注释来生成类的说明 ...

随机推荐

  1. .net core中使用autofac进行IOC

    .net Core中自带DI是非常简单轻量化的,但是如果批量注册就得扩展,下面使用反射进行批量注册的 public void AddAssembly(IServiceCollection servic ...

  2. [转]How to Download and Setup Blue Prism

    本文转自:https://www.hopetutors.com/blog/uncategorized/how-to-download-and-setup-blue-prism/ The Downloa ...

  3. Innosetup 设置文件的相对路径

    在使用innosetup自动化打包的过程中,如果打包配置文件要随代码一起提交,则需要将打包文件改为相对路径,以便在其它端也可以直接打包,而不需要再次修改文件路径参数. 添加自动化打包文件 1. 添加b ...

  4. oracle学习笔记(五) SQL操作符

    SQL操作符 算术操作符:+加,-减,*乘,/除 比较操作符: <,>,=,!=,<>,<=,>= 常用的判断,<>和!=相同 between $low ...

  5. Python全栈开发之---迭代器、可迭代对象、生成器

    1.什么叫迭代 现在,我们已经获得了一个新线索,有一个叫做“可迭代的”概念. 首先,我们从报错来分析,好像之所以1234不可以for循环,是因为它不可迭代.那么如果“可迭代”,就应该可以被for循环了 ...

  6. 折腾Java设计模式之建造者模式

    博文原址:折腾Java设计模式之建造者模式 建造者模式 Separate the construction of a complex object from its representation, a ...

  7. Android探究之ANR

    什么是ANR ANR:Application Not Responding,即应用程序无响应. 在Android中,ActivityManagerService(简称AMS)和WindowManage ...

  8. Django项目结构介绍

    官网下载网址:https://www.djangoproject.com/download/ 安装(安装最新LTS版): pip3 install django==2.0.7 创建一个django项目 ...

  9. C# 当前 .NET SDK 不支持将 .NET Core 2.1 设置为目标。请将 .NET Core 2.0 或更低版本设置为目标,或使用支持 .NET Core 2.1 的 .NET SDK 版本。

    报错信息: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 NETSDK1045 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标.请将 .NET Core 2.1 或 ...

  10. Swift 产生 uuid

    项目中.需要客户端生成一个唯一的识别码 let uuid = UUID().uuidString print(uuid)