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