zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    jQuery插件之jqzoom
    python数据分析画图体验
    python正则表达式,以及应用[下载图片]
    Python 程序如何高效地调试?
    从汉诺塔游戏理解python递归函数
    Python文本文件的输入输出操作学习
    Windows搭建python开发环境
    python循环综合运用
    Python参数传递,既不是传值也不是传引用
    使用python实现用微信远程控制电脑
  • 原文地址:https://www.cnblogs.com/zhanglianghhh/p/10827982.html
Copyright © 2011-2022 走看看