专栏首页踏歌行的专栏Saltstack_使用指南09_远程执行-编写执行模块

Saltstack_使用指南09_远程执行-编写执行模块

1. 主机规划

salt 版本

1 [root@salt100 ~]# salt --version
2 salt 2018.3.3 (Oxygen)
3 [root@salt100 ~]# salt-minion --version
4 salt-minion 2018.3.3 (Oxygen)

编写执行模块文档

https://docs.saltstack.com/en/latest/ref/modules/index.html        # 文档上的稍有些复杂

注意事项

修改了master或者minion的配置文件,那么必须重启对应的服务。

2. 自编写模块注意事项

1 模块编写:
2     1、存放位置:/srv/salt/_modules        # 注意位置  
3     2、命名:文件名就是模块名  例如:my_disk.py    
4     3、刷新  salt '*' saltutil.sync_modules

3. 案例

在 salt 的 master 机器上编写module,并同步给所有的minion

 1 [root@salt100 _modules]# pwd
 2 /srv/salt/_modules
 3 [root@salt100 _modules]# cat my_disk.py  # 自编写的模块信息
 4 #!/usr/bin/env python3
 5 # -*- coding:utf-8 -*-
 6 # Author:Zhang Liang
 7 
 8 def list():
 9   cmd = 'df -h'
10   ret = __salt__['cmd.run'](cmd)
11   return ret
12 
13 [root@salt100 _modules]# salt '*' saltutil.sync_modules # 同步module 到所有的minion端
14 salt02:
15     - modules.my_disk
16 salt01:
17     - modules.my_disk
18 salt03:
19     - modules.my_disk
20 salt100:
21     - modules.my_disk

同步模块后文件在 minion 端的位置

 1 [root@salt01 salt]# pwd
 2 /var/cache/salt
 3 [root@salt01 salt]# tree
 4 .
 5 └── minion
 6     ├── accumulator
 7     ├── extmods
 8     │   ├── grains
 9     │   │   ├── my_grains.py
10     │   │   └── my_grains.pyc
11     │   └── modules
12     │       └── my_disk.py  # 同步模块存在的位置
13     ├── files
14     │   └── base
15     │       ├── _grains
16     │       │   └── my_grains.py
17     │       ├── _modules
18     │       │   └── my_disk.py
19     │       ├── top.sls
20     │       └── web
21     │           └── apache.sls
22     ├── highstate.cache.p
23     ├── module_refresh
24     ├── proc
25     └── sls.p
26 
27 11 directories, 10 files

在 master 操作自定义的 module

 1 [root@salt100 _modules]# salt '*' my_disk.list  
 2 salt01:
 3     Filesystem      Size  Used Avail Use% Mounted on
 4     /dev/sda3        18G  2.1G   16G  12% /
 5     devtmpfs        901M     0  901M   0% /dev
 6     tmpfs           911M   12K  911M   1% /dev/shm
 7     tmpfs           911M  9.6M  902M   2% /run
 8     tmpfs           911M     0  911M   0% /sys/fs/cgroup
 9     /dev/sda1       197M  113M   85M  58% /boot
10     tmpfs           183M     0  183M   0% /run/user/1001
11 salt100:
12     Filesystem      Size  Used Avail Use% Mounted on
13     /dev/sda3        18G  2.1G   16G  12% /
14     devtmpfs        901M     0  901M   0% /dev
15     tmpfs           911M   28K  911M   1% /dev/shm
16     tmpfs           911M  9.6M  902M   2% /run
17     tmpfs           911M     0  911M   0% /sys/fs/cgroup
18     /dev/sda1       197M  113M   85M  58% /boot
19     tmpfs           183M     0  183M   0% /run/user/1001
20 salt03:
21     Filesystem      Size  Used Avail Use% Mounted on
22     /dev/sda3        18G  2.0G   16G  12% /
23     devtmpfs        901M     0  901M   0% /dev
24     tmpfs           911M   12K  911M   1% /dev/shm
25     tmpfs           911M  9.5M  902M   2% /run
26     tmpfs           911M     0  911M   0% /sys/fs/cgroup
27     /dev/sda1       197M  113M   85M  58% /boot
28 salt02:
29     Filesystem      Size  Used Avail Use% Mounted on
30     /dev/sda3        18G  2.0G   16G  12% /
31     devtmpfs        901M     0  901M   0% /dev
32     tmpfs           911M   12K  911M   1% /dev/shm
33     tmpfs           911M  9.6M  902M   2% /run
34     tmpfs           911M     0  911M   0% /sys/fs/cgroup
35     /dev/sda1       197M  113M   85M  58% /boot
36     tmpfs           183M     0  183M   0% /run/user/1001

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理

    这是搭建个人博客系统系列文章的最后一篇,如果你是从第一篇一路跟下来的,那么恭喜你,即将完成整个博客网站的搭建。OK,话不多说,开始我们的收官之战。

    踏歌行
  • Saltstack_使用指南07_远程执行-执行模块

    踏歌行
  • Kubernetes K8S之存储Volume详解 PV概述PVC概述供应绑定使用持久化声明保护回收策略Persistent Volumes类型PV示例PV卷状态PV

    与管理计算实例相比,管理存储是一个明显的问题。PersistentVolume子系统为用户和管理员提供了一个API,该API从如何使用存储中抽象出如何提供存储的...

    踏歌行
  • Saltstack_使用指南07_远程执行-执行模块

    踏歌行
  • jenkins在windows服务器上执行含git push命令的脚本权限不足的解决方法

    易墨
  • 惊呆!那些顶级App居然是用Python开发的

    如今 Python 越来越火,大有登顶编程语言榜首的趋势,很多人开始知道或者学习 Python,今天就介绍几款由 Python 开发的世界大牌 App,让你再次...

    龙哥
  • python运维:SaltStack简明教程

    SaltStack是基于Python开发的一套C/S架构配置管理工具(功能不仅仅是配置管理,如使用salt-cloud配置AWS EC2实例),它的底层使用Ze...

    mojocn
  • 凯文.凯利:最大的颠覆来自创业公司与边缘产业

    大数据文摘
  • ubuntu下编译安装opencv的方法

    简易安装方式是从库中安装编译好了的Opencv,这种安装方式简单方便,缺点是容易在使用中出现未知bug,比如不能imshow图像,不能读视频文件等(opencv...

    砸漏
  • 长文阅读 | 饶毅教授:脑、物理、化学、生物、心理认知的交叉研究

    “学科交叉的魅力”名师系列讲座由北京大学前沿交叉学科研究院策划和主办。它的缘起是学院之前每年都要举办的“交叉学科研究生论坛活动”,今年由于疫情而改为线上讲座的形...

    脑机接口社区

扫码关注云+社区

领取腾讯云代金券