salt-key

-L list在master上所有收到的公钥连接请求

-A accept所有pending的请求。
 -D 删除所有
 在minion上启动服务后,几十秒后会在/etc/salt/pki/minion/下生成一个钥匙对。
 然后minion会把pub公钥发给master,master上就会出现unaccepted的ID。
 然后minion上/etc/salt/pki/minion/下就会出现一个master的pub公钥。这样认证就完成了。
 认证完成后还要过几十秒才能test.ping。
 有时候会出现minion上钥匙对还没生成,master上就出现了unaccepted的ID,这时候accept是没用的。要删除minion上/etc/salt/pki/minion/下的三个文件。然后重启minion。minion会重新生成钥匙对。
ID
 minion会生成一个自身的ID,这个ID可以在conf里设定,但是默认是注释的。没有设定的话,就会以hostname为ID
 master上的minion名就是这个ID,在/etc/salt/pki/minion下有存储。
 

调试

salt-minion -l dubug
salt-master -l debug
一些运行的报错可以在这里看
 
target
 
pillar
 可以把一些指定的信息(如修改conf文件的参数)写到minion上。
 和state文件一样,是sls格式的
 
模块&功能
 sys.doc mod.fun 显示一个fun的帮助信息
 sys.list_functions mod 列出一个mod的所有fun
 disk.blkid 显示block的fstype和uuid
 disk.fstype 显示fstype
 disk.percent 磁盘使用率
 disk.usage 磁盘使用量(容量,inode)
 cmd.run "xx" 批量执行命令
 cmd.script salt://xx.sh 下载salt上file server的脚本到minion上执行。
 cmd.shells 返回/etc/shells的内容,就是可用的shell
 cp.get_file 从master拷贝文件到minion,比如脚本
 state.sls file(不带.sls后缀) 执行一个或多个sls文件中的目标状态
 test.ping 测试连通性,安装完minion后需要测试
file server
 简单的文件服务器,向minion分发文件。
 salt文件服务器是内建在master里面的
 主要目的是为salt状态系统提供文件
 可以用于从master到minion的任意普通文件传输
 backends
  salt支持模块化的文件服务器后端系统
  系统允许salt master直连第三方系统,收集和管理文件,并对minion可用
  可以配置多后端,就可以搜索在这里被定义的文件。
  默认设置只启用标准后端“roots”,使用“file_roots”选项
  请求文件时首先会在roots中搜索
 env环境
  文件服务器基于传递给master的环境工作
  每个环境有多个根目录。
  base环境要求在第一位
 动态模块分发
  自定义的salt执行,状态和其他模块,可以通过satl文件服务器分发到minion
  通过file_roots选项定义,在环境根目录下,符合模块类型就可被使用
 从指定环境请求文件
  查询语法:
state
 salt states是配置管理系统,它的核心是相应的sls文件。
 sls文件描述系统的目标状态,存放目录由“环境”指定
 sls文件使用YAML格式。
 sls会使用jinja语言,支持一些循环判断
 file_roots下会有多个环境,其中base是必要的,top.sls也放在其中
 top.sls:不是必须的。比如要配置跨机器的lamp,不同机器的sls文件需要由top.sls去指定
 include state的层级关系。许多功能被分成许多sls,然后有一个sls来引用这些sls。
 在sls文件中目录用.表示。
 在生产环境中,执行salt命令,后面都该加上test=True,先做测试。
 sls文件最前面的是state ID,如果模块中不含name,state ID就是name。
 一个ID下可以有多个模块。完成多种功能。
 一种安装逻辑
  haproxy的安装分三部分,依赖包的安装,安装文件的传输,命令的执行
  在命令实行时,需要有require: 确认pgk和file已经完成。
 
sls文件编写案例
 mypkgs:
   pkg.installed:
     - sources:
    - foo: salt://rpms/foo.rpm
    - baz: ftp://someothersite.org/baz.rpm
 
 libevent:
   file.managed:
  - name: /tmp/libevent-2.1.8-stable.tar.gz
  - source: salt://memcache/libevent-2.1.8-stable.tar.gz
  - mode: 755
  - user: root
  - group: root
   cmd.run:
  - name: "cd /tmp && tar zxf libevent-2.1.8-stable.tar.gz && cd libevent-2.1.8-stable && ./confugure --prefix=/usr/local/libevent-218 && make && make install"
  - require:
    - file: libevent
 #这个ID包含两个功能,第二个功能依赖于第一个功能的实现,所以有require一项,格式是- 模块: 模块所在ID
 
 include:
   - linux-system-init.dns
   - linux-system-init.histtimeformat
   - linux-system-init.sysctl
   - linux-system-init.zabbix-agent-install
 #在子目录里写好几个sls,然后在root目录下编写一个总体的sls,使用include模块,包含linux-system-init目录下的多个子sls,不需要后缀名。
 
 
 
  
  
  
  
  
  

salt命令的更多相关文章

  1. SaltStack salt 命令

    salt 是服务端远程批量操作多台客户端需要使用到的命令,常见用法如下: salt '*' # 指定对所有客户端主机进行操作 salt 'minion01' # 指定对单台客户端主机进行操作 salt ...

  2. Linux记录-salt命令

    salt '*id*'  test.ping salt -N  组名  cmd.run '' salt -G "ipv4:0.0.0.0"  cmd.run '' salt '*i ...

  3. centos7之salt命令随笔笔记

    打印当前服务器python下的redis版本 python -c 'import redis; print redis.VERSION' 如果salt-master报错: No minions mat ...

  4. salt stack 工具之一——远程命令

    salt stack 远程命令 salt stack是一种自动化的运维工具,可以同时对N台服务器进行配置管理.远程命令执行等操作. salt stack分为两个部分: salt-master,部署在控 ...

  5. saltstack通过salt.client执行命令(转)

    利用saltstack的salt.client模块可以在python的命令行下或者python脚本里执行相应的salt命令 master端想要执行类似 salt '*' cmd.run 'uptime ...

  6. salt stack 远程命令

    salt stack 远程命令 salt stack是一种自动化的运维工具,可以同时对N台服务器进行配置管理.远程命令执行等操作. salt stack分为两个部分 salt-master,部署在控制 ...

  7. saltstack命令执行过程

    saltstack命令执行过程 具体步骤如下 Salt stack的Master与Minion之间通过ZeroMq进行消息传递,使用了ZeroMq的发布-订阅模式,连接方式包括tcp,ipc salt ...

  8. 翻译-Salt与Ansible全方位比较

    原文链接:http://jensrantil.github.io/salt-vs-ansible.html 作者: Jens Rantil 之前某些时候我需要评估配置管理系统.结合从他人得到的意见,我 ...

  9. salt基本原理

            转载自: 来自:http://tech.mainwise.cn/?p=438     说明:salt是一个异构平台基础设置管理工具(虽然我们通常只用在Linux上),使用轻量级的通讯器 ...

随机推荐

  1. 利用AutoLayout适配滚动视图和表视图

    1.新增一个contentView,设置为与滑动视图的父视图等高等宽. 2.利用代码 if(_MyTestTableView.frame.size.height != _MyTestTableView ...

  2. 在react里面使用jquery插件

    在react里面使用jquery插件 背景: 虽然现在react,vue等框架开启了前端开发的新篇章, 但对于一些比较复杂的页面,比如想在项目里面生成 组织架构图,人员汇报关系等还是需要用到之前的 j ...

  3. Vue中的计算属性和监听器(computed 与 watch)

    react中数据是单向绑定的,而vue中数据是双向绑定的.为什么? 在react中,主要是通过setState 去改变state的值:而在vue中,会自动的触发set 与get 改变属性的值. 在vu ...

  4. HDU 1878(1Y) (判断欧拉回路是否存在 奇点个数为0 + 一个联通分量 *【模板】)

    欧拉回路 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. IPFS - 可快速索引的版本化的点对点文件系统(草稿3)

    摘要 星际文件系统是一种点对点的分布式文件系统, 旨在连接所有有相同的文件系统的计算机设备.在某些方面, IPFS类似于web, 但web 是中心化的,而IPFS是一个单一的Bittorrent 群集 ...

  6. 对xml文件的sax解析(增删改查)之一

    crud(增删改查): c:creat r:retrieve u:update d:delete 以下笔记来自于韩顺平老师的讲解. 现在是用java来操作. 第一步:新建java工程.file-new ...

  7. html5--6-1 引入外部样式表

    html5--6-1 引入外部样式表 实例 学习要点 掌握引入外部样式表方法 插入样式的三种方法 内联样式表(行内) 内部样式表(style中) 外部样式表 创建一个外部样式表 在head中使用lin ...

  8. Swing项目编译成exe,并且打包成安装文件(二)

    前面我们讲到了将Swing项目编译成双击可执行的文件exe,这篇我就教大家怎么把exe打包成需要在电脑安装的那种,首先需要一个工具,Inno Setup 编译器, 下载地址,我这个是汉化版的,双击打开 ...

  9. log4j 配置文件详解

    [1]从零开始 a). 新建Java Project>>新建package>>新建java类: b). import jar包(一个就够),这里我用的是log4j-1.2.14 ...

  10. 关于使用response.addHeader下载中文名乱码问题

    介绍下我项目中遇到的问题:在数据库导出Excel文件的过程中,导出文件中文名始终异常,最终结果发现需要在response.addHeader 中的 filename = "xxxx" ...