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. HttpClient封装方法

    //post请求 public static string PostRequest(string url, HttpContent data) { var handler = new HttpClie ...

  2. Doctype的作用?严格模式与混合模式,如何触发者这两种模式,区分它们有何意义?

    Doctype作用?严格模式与混合模式,如何触发者这两种模式,区分它们有何意义? 1.1 Doctype作用 <!DOCTYPE>声明叫做文件类型定义(DTD),声明的作用为了告诉浏览器该 ...

  3. (七) Keras 绘制网络结构和cpu,gpu切换

    视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 首先安装py ...

  4. 人脸检测识别,人脸检测,人脸识别,离线检测,C#源码

    百度网盘地址 微云地址 使用虹软人工智能开放平台技术开发完成

  5. IDEA XML注释与取消注释快捷键

    IntelliJ IDEA和eclipse中编辑Java文件时,注释和取消注释的快捷键都是: "CTRL + / " 编辑xml文件时, 注释:CTRL + SHIFT + / 取 ...

  6. MyDAL - .Where() 之 .WhereSegment 根据条件 动态设置 Select查询条件 使用

    索引: 目录索引 一.API 列表 1.WhereSegment 属性,指示 根据条件 动态拼接 where 查询过滤条件 见如下示例. 二.API 单表-完整 方法 举例 // 上下文条件 变量 v ...

  7. DataPipeline CTO陈肃:从ETL到ELT,AI时代数据集成的问题与解决方案

    引言:2018年7月25日,DataPipeline CTO陈肃在第一期公开课上作了题为<从ETL到ELT,AI时代数据集成的问题与解决方案>的分享,本文根据陈肃分享内容整理而成. 大家好 ...

  8. ASP.NET实现二维码

    using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Te ...

  9. Vue.js05:vue内联样式

    对象就是无序键值对的集合 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  10. Git + Docker + Jenkins自动化部署web到Linux(Centos)

    1.把代码托管到Github上 2.安装Docker 3.安装Jenkins 4.在项目中编写Dockerfile.publish.sh (1)Dockerfile内容 # 基于dotnet基础环境构 ...