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

 

1. 主机规划

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

 

Saltstack_使用指南09_远程执行-编写执行模块_第2张图片

 

你可能感兴趣的:(Saltstack_使用指南09_远程执行-编写执行模块)