打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
自动化运维工具SaltStack详细部署
SaltStack--远程执行
SaltStack介绍和架构解析
CentOS 8.2上安装部署SaltStack Master和 Minion
企业基于开源自动化运维工具的运维实践
详解自动化运维平台的构建过程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服