1. 主机规划
服务器名称 | 操作系统版本 | 内网IP | 外网IP(模拟) | Hostname | 部署模块 |
---|---|---|---|---|---|
salt100 | CentOS7.5 | 172.16.1.100 | 10.0.0.100 | salt100 | salt-master、salt-minion |
salt01 | CentOS7.5 | 172.16.1.11 | 10.0.0.11 | salt01 | salt-minion |
salt02 | CentOS7.5 | 172.16.1.12 | 10.0.0.12 | salt02 | salt-minion |
salt03 | CentOS7.5 | 172.16.1.13 | 10.0.0.13 | salt03 | salt-minion |
编写执行模块文档
https://docs.saltstack.com/en/latest/ref/modules/index.html # 文档上的稍有些复杂
注意事项
修改了master或者minion的配置文件,那么必须重启对应的服务。
2. 自编写模块注意事项
模块编写:
1、存放位置:/srv/salt/_modules # 注意位置
2、命名:文件名就是模块名 例如:my_disk.py
3、刷新 salt '*' saltutil.sync_modules
3. 案例
在 salt 的 master 机器上编写module,并同步给所有的minion
[root@salt100 _modules]# pwd
/srv/salt/_modules
[root@salt100 _modules]# cat my_disk.py # 自编写的模块信息
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# Author:Zhang Liang
def list():
cmd = 'df -h'
ret = __salt__['cmd.run'](cmd)
return ret
[root@salt100 _modules]# salt '*' saltutil.sync_modules # 同步module 到所有的minion端
salt02:
- modules.my_disk
salt01:
- modules.my_disk
salt03:
- modules.my_disk
salt100:
- modules.my_disk
同步模块后文件在 minion 端的位置
[root@salt01 salt]# pwd
/var/cache/salt
[root@salt01 salt]# tree
.
└── minion
├── accumulator
├── extmods
│ ├── grains
│ │ ├── my_grains.py
│ │ └── my_grains.pyc
│ └── modules
│ └── my_disk.py # 同步模块存在的位置
├── files
│ └── base
│ ├── _grains
│ │ └── my_grains.py
│ ├── _modules
│ │ └── my_disk.py
│ ├── top.sls
│ └── web
│ └── apache.sls
├── highstate.cache.p
├── module_refresh
├── proc
└── sls.p
11 directories, 10 files
在 master 操作自定义的 module
[root@salt100 _modules]# salt '*' my_disk.list
salt01:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 2.1G 16G 12% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 911M 12K 911M 1% /dev/shm
tmpfs 911M 9.6M 902M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 183M 0 183M 0% /run/user/1001
salt100:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 2.1G 16G 12% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 911M 28K 911M 1% /dev/shm
tmpfs 911M 9.6M 902M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 183M 0 183M 0% /run/user/1001
salt03:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 2.0G 16G 12% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 911M 12K 911M 1% /dev/shm
tmpfs 911M 9.5M 902M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
salt02:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 2.0G 16G 12% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 911M 12K 911M 1% /dev/shm
tmpfs 911M 9.6M 902M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 183M 0 183M 0% /run/user/1001