`

salt常用命令

阅读更多

       

实时管理

cmd.run的方式

执行命令

sudo salt '*' cmd.run 'uptime'

系统模块

系统自建的模块 参考salt文档 http://docs.saltstack.com/en/latest/ref/modules/all/index.html
例如查看minion的磁盘使用率,使用disk模块的usage函数

sudo salt '*' disk.usage

使用sys.doc模块查询salt模块的相关使用方法。sys.doc 相当于系统的man,可以查询salt模块的在线doc

sudo salt '*'  sys.doc disk

自定义模块

自定义模块的目录/srv/salt/_modules/,自定义模块路径一般为/srv/salt/_modules/custom.py 。 示例:

$cat /srv/salt/_modules/custom.py
def test():return'i am test'

手动同步模块到minion

sudo salt '*' saltutil.sync_modules

执行模块

sudo salt '*' custom.test

Targetting

简单方式的匹配:Shell Style & Perl 正则匹配

模式 含义
* 匹配所有minion
web1 匹配web1
web* 匹配web开头的minion
web? 匹配web开头4个字符ID的minion
web[1-5] 匹配web1到web5
web[1,3] 匹配web1和web3
web1-(prod|devel) 匹配web1-prod和web1-devel

列表匹配

sudo salt -L 'web1,web2' test.ping

Grains匹配

sudo salt -G 'virtual:physical'  test.ping  #匹配所有物理机
sudo salt -G 'virtual:phy*'  test.ping  #grains匹配方式中同样可以使用 Shell Style & Perl正则方式

Pillar匹配

sudo salt -I 'master:ipv6:False' test.ping

SLS文件中的匹配方式

'virtual:physical': match: grain

States

states用于实现对minion进行状态管理,官方参考文档 http://docs.saltstack.com/ref/states/all/index.html
states 定义路径/src/salt(在/etc/salt/master中的file_roots变量定义),states文件使用YAML格式定义
states文件的后缀是sls(Salt State),sls文件编写需要注意在:之后要保留一个空格,否则会导致解析错误

手动执行state的方式,以修改admin账号的bashrc为例

准备/src/salt/bashrc.sls,内容如下

/home/admin/.bashrc:
  file.managed:- source: salt://files/bashrc- user: admin
      -group: admin
      - mode:644

准备好用于分发的bash文件,salt://files/bashrc 对应/srv/salt/files/bashrc
使bash.sls生效

sudo salt '*' state.sls 'bashrc'

Highstate的方式。其实是使用top.sls作为state的入口文件

/src/salt/top.sls文件如下,top.sls引用bashrc.sls

base:'*':- bashrc

手动执行highstate生效

sudo salt '*' state.highstate

使用schedule 让minion自动执行highstate

定义 /srv/pillar/top.sls

base:'*':- schedule

定义 /srv/pillar/schedule.sls (30分钟为单位)

schedule:
    highstate:function: state.highstate
            minutes:30

Pillar

官方文档 http://docs.saltstack.com/topics/tutorials/pillar.html
pillar数据定义路径/srv/pillar, 入口文件:/srv/pillar/top.sls
查看pillar信息

sudo salt '*' pillar.data

Grains

官方文档 http://docs.saltstack.com/topics/targeting/grains.html
查看grains分类

sudo salt '*' grains.ls

查看grains所有信息

sudo salt '*' grains.items 

查看grains某个信息

sudo salt '*' grains.item osrelease 

自定义grains

grains自定义目录/srv/salt/_grains/,自定义路径/srv/salt/_grains/grans_test.py,示例:

def grans_test():
  grains ={}
  grains['grans_test']='this is a grans test!'return grains
if __name__ =='__main__':print grans_test()

同步grains

sudo salt '*' saltutil.sync_grains

查看机器grains信息

sudo salt '*' grains.item grans_test

Job管理

Salt实时管理的任务都是作为Job来执行

查看正在执行的Job

sudo salt-run jobs.active

查看Job列表(包括执行过的)

sudo salt-run jobs.list_jobs

查看指定Job的状态

sudo salt-run jobs.lookup_jid 20140408112045976162

Minion状态管理

查看minion的状态up or down

sudo salt-run manage.status  #查看所有状态
sudo salt-run manage.up        #只看up的
sudo salt-run manage.down  #只看down

查看minion的版本,该命令会提示哪些minion的版本需要升级

sudo salt-run manage.versions

参考文档

分享到:
评论

相关推荐

    Salt-手册

    YAML 是 Salt 状态文件中最常用的配置语言。这里提供了关于 YAML 基础知识的介绍,包括语法和常见用法。 **3.8 理解 Jinja** Jinja 是一种流行的模板引擎,广泛应用于 Salt 状态文件中。这部分内容介绍了 Jinja 的...

    整理的常用MATLAB图像处理命令.pdf

    以下是常用的 MATLAB 图像处理命令概述: 读写图像文件 MATLAB 提供了多种读写图像文件的命令,例如: * imread:用于读入各种图像文件,如:a=imread('e:\lena.png') * imwrite:用于写入图像文件,如:imwrite...

    saltstack配置管理大全

    #### SALT常用功能 **查看版本** 使用命令`salt --version`可以查看当前SaltStack版本信息。 **salt-key** - **查看所有Minion**: `salt-key -L`列出所有已知的Minion,包括接受、拒绝和未接受的状态。 - **接受...

    openssl之enc命令教程

    ### OpenSSL之enc命令详解 #### 一、简介 OpenSSL是一个强大的工具库,它支持多种加密算法、消息认证码协议以及SSL/TLS等安全通信协议。`openssl enc`命令是OpenSSL工具的一部分,用于实现对称加密算法的数据加密...

    基于WEB的SALT语音识别技术应用研究(终稿)-精品.doc

    在Web环境中,SALT技术的应用使得用户可以通过语音命令与网页进行互动,极大地提升了用户体验。 在本文的研究中,主要关注了以下几个方面: 1. **HMM算法及其比较**:隐马尔科夫模型(HMM)是语音识别领域常用的一...

    PyPI 官网下载 | pytest-salt-2019.8.12.tar.gz

    这种格式是Linux和Unix系统常用的压缩方式,它先使用`tar`命令将所有文件打包成一个单一的归档文件,然后用`gzip`工具进行压缩,以减小文件大小,方便传输和存储。 解压`pytest-salt-2019.8.12.tar.gz`后,您会得到...

    整理的常用MATLAB图像处理命令.docx

    - `imnoise` 生成模拟噪声,如 `j=imnoise(i,'gaussian',0,0.02)` 生成高斯噪声,`j=imnoise(i,'salt&pepper',0.04)` 生成椒盐噪声。 - `fspecial` 用于创建预定义滤波器,如 `h=fspecial('sobel')` 生成 sobel ...

    Saltstack快速入门简单汇总

    `salt-key` 常用命令包括: - `salt-key -a`: 接受指定客户端的连接请求。 - `salt-key -A`: 接受所有客户端的连接请求。 - `salt-key -d`: 删除单个客户端的连接。 - `salt-key -D`: 删除所有客户端的连接请求。 ...

    centos-7.2下saltstack的安装部署

    非常详细的saltstack安装与部署,以及一些常用的操作和命令,非常适合刚接触的同学去学习。

    Saltstack配置管理大全

    Saltstack还包含了许多常用模块,例如执行命令模块(cmd),定时任务模块(cron),磁盘管理模块(DISK)和文件管理模块(file)。命令模块可以让用户执行shell命令、运行脚本或执行脚本文件等。定时任务模块则提供...

    suse storage存储部署手册中文版

    同时,手册还介绍了用户权限和常用命令,包括与Salt/DeepSea、Ceph相关的操作以及一般的Linux命令,这些都是日常管理和维护所必需的工具。 部署和升级部分,手册详细讲解了使用DeepSea/Salt自动化工具进行集群部署...

    sukhanov.json:Salt & Pepper 团队的终极开发生产力工具

    "苏哈诺夫.json"是Salt & Pepper团队推出的一款旨在提升开发者生产力的工具,它以一个JSON文件的形式提供了一系列的功能和服务。这个工具的核心理念是帮助开发者优化日常工作流程,提高工作效率,减少不必要的繁琐...

    saltstack安装配置和使用

    2. **Master 端**:接收到 Minion 发送的公钥后,使用 `salt-key` 命令接受该公钥。接受后,Master 将存储以 Minion ID 命名的公钥文件至 `/etc/salt/pki/master/minions` 目录下,从而建立信任关系。 #### 三、...

    企业基于开源自动化运维工具的运维实践.docx

    - 使用Salt自带的故障诊断工具,如`salt-call test.ping`等命令,检查Minion是否在线。 - 查看日志文件,如`/var/log/salt/master`和`/var/log/salt/minion`,定位问题根源。 - 对于高级故障排查,可以利用Salt的...

    Shell 简单的启动server,加密密码的脚本----2016-05-27

    此外,密码加密通常不只是简单的单向加密(哈希),而是需要包含盐值(salt)和可能的迭代次数,以增加破解的难度。 总结一下,这个脚本是用于通过Shell命令自动化服务器的启停,并且包含了一个密码加密的机制,...

Global site tag (gtag.js) - Google Analytics