salt命令
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下有存储。
调试
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后需要测试
简单的文件服务器,向minion分发文件。
salt文件服务器是内建在master里面的
主要目的是为salt状态系统提供文件
可以用于从master到minion的任意普通文件传输
backends
salt支持模块化的文件服务器后端系统
系统允许salt master直连第三方系统,收集和管理文件,并对minion可用
可以配置多后端,就可以搜索在这里被定义的文件。
默认设置只启用标准后端“roots”,使用“file_roots”选项
请求文件时首先会在roots中搜索
env环境
文件服务器基于传递给master的环境工作
每个环境有多个根目录。
base环境要求在第一位
动态模块分发
自定义的salt执行,状态和其他模块,可以通过satl文件服务器分发到minion
通过file_roots选项定义,在环境根目录下,符合模块类型就可被使用
从指定环境请求文件
查询语法:
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命令的更多相关文章
- SaltStack salt 命令
salt 是服务端远程批量操作多台客户端需要使用到的命令,常见用法如下: salt '*' # 指定对所有客户端主机进行操作 salt 'minion01' # 指定对单台客户端主机进行操作 salt ...
- Linux记录-salt命令
salt '*id*' test.ping salt -N 组名 cmd.run '' salt -G "ipv4:0.0.0.0" cmd.run '' salt '*i ...
- centos7之salt命令随笔笔记
打印当前服务器python下的redis版本 python -c 'import redis; print redis.VERSION' 如果salt-master报错: No minions mat ...
- salt stack 工具之一——远程命令
salt stack 远程命令 salt stack是一种自动化的运维工具,可以同时对N台服务器进行配置管理.远程命令执行等操作. salt stack分为两个部分: salt-master,部署在控 ...
- saltstack通过salt.client执行命令(转)
利用saltstack的salt.client模块可以在python的命令行下或者python脚本里执行相应的salt命令 master端想要执行类似 salt '*' cmd.run 'uptime ...
- salt stack 远程命令
salt stack 远程命令 salt stack是一种自动化的运维工具,可以同时对N台服务器进行配置管理.远程命令执行等操作. salt stack分为两个部分 salt-master,部署在控制 ...
- saltstack命令执行过程
saltstack命令执行过程 具体步骤如下 Salt stack的Master与Minion之间通过ZeroMq进行消息传递,使用了ZeroMq的发布-订阅模式,连接方式包括tcp,ipc salt ...
- 翻译-Salt与Ansible全方位比较
原文链接:http://jensrantil.github.io/salt-vs-ansible.html 作者: Jens Rantil 之前某些时候我需要评估配置管理系统.结合从他人得到的意见,我 ...
- salt基本原理
转载自: 来自:http://tech.mainwise.cn/?p=438 说明:salt是一个异构平台基础设置管理工具(虽然我们通常只用在Linux上),使用轻量级的通讯器 ...
随机推荐
- android RefBase、sp、wp
首先RefBase在android的c++部分是作为一个所有类的基类,其作用跟Java中的Object类似 这个类中存在一个私有成员: weakref_impl* const mRefs;(weakr ...
- 在springboot中使用Mybatis Generator的两种方式
介绍 Mybatis Generator(MBG)是Mybatis的一个代码生成工具.MBG解决了对数据库操作有最大影响的一些CRUD操作,很大程度上提升开发效率.如果需要联合查询仍然需要手写sql. ...
- UESTC - 900 方老师炸弹 —— 割点
题目链接:https://vjudge.net/problem/UESTC-900 方老师炸弹 Time Limit: 4000/2000MS (Java/Others) Memory L ...
- nyoj 86 --位标记
nyoj 86 --位标记 点击打开题目链接 : 找球号(一) 这道题目很多解法,其他解法请参考 http://www.cnblogs.com/play ...
- CMD help
ASSOC 显示或修改文件扩展名关联. ATTRIB 显示或更改文件属性. BREAK 设置或清除扩展式 CTRL+C 检查. BCDEDIT 设置启动数据库中的属性以控制启动加载. CACLS 显示 ...
- codeforces 664B B. Rebus(乱搞题)
题目链接: B. Rebus time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- Messes in Reading Source Coding of SSD
这里记录在学习SSD源码过程中用到的相关内容 keras.applications.imagenet_utils.preprocess_input(): 用来将读入的原始图片张量转换成为需要Image ...
- 「NOIP2014」「Codevs3728」 联合权值(乱搞
3728 联合权值 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 输入描述 Input Description 输出描述 Ou ...
- 火狐浏览器安装VULTR笔记
1.购买一台vultr服务器, 支持支付宝扫码支付,直接美刀转人民币实时结算:优先选日本的,然后美国的; 购买服务器步骤: Server Location: Tokyo Japan Server Ty ...
- Android开发:显式/隐式Intent
显式跳转 是在已知包名和类名的情况下常用的跳转方法: Intent mIntent = new Intent(); mIntent.setClassName("com.android.set ...