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

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

微信公众号

发布了129 篇原创文章 · 获赞 128 · 访问量 67万+

猜你喜欢

转载自blog.csdn.net/woshizhangliang999/article/details/89350807