saltstack执行模块

2024-05-16 02:38
文章标签 模块 执行 saltstack

本文主要是介绍saltstack执行模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(1)master中编写自定义模块

[root@server1 ~]# mkdir /srv/salt/_modules -p
[root@server1 ~]# cd /srv/salt/_modules/
[root@server1 _modules]# vim my_disk.py
#!/use/bin/env python
def df():return __salt__['cmd.run']('df -h')

刷新salt模块库

[root@server1 _modules]# salt '*' saltutil.sync_modules
server2:- modules.my_disk
server1:- modules.my_disk
server4:- modules.my_disk
server3:- modules.my_disk

推送自己的模块

[root@server1 _modules]# salt '*' my_disk.df
server3:Filesystem                    Size  Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root   19G  1.1G   17G   6% /tmpfs                         246M   16K  246M   1% /dev/shm/dev/vda1                     485M   33M  427M   8% /boot
server4:Filesystem                    Size  Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root   19G  1.1G   17G   6% /tmpfs                         372M   16K  372M   1% /dev/shm/dev/vda1                     485M   33M  427M   8% /boot
server2:Filesystem                    Size  Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root   19G  990M   17G   6% /tmpfs                         246M   96K  246M   1% /dev/shm/dev/vda1                     485M   33M  427M   8% /boot
server1:Filesystem                    Size  Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root   19G  1.1G   17G   7% /tmpfs                         499M   76K  499M   1% /dev/shm/dev/vda1                     485M   33M  427M   8% /boot

函数存放位置

[root@server4 ~]# cd /var/cache/salt
[root@server4 salt]# tree
.
`-- minion|-- accumulator|-- extmods|   |-- grains|   |   |-- my_grains.py|   |   `-- my_grains.pyc|   `-- modules            #外部函数位置|       |-- my_disk.py|       `-- my_disk.pyc|-- files|   `-- base|       |-- _grains|       |   `-- my_grains.py|       |-- haproxy|       |   |-- files|       |   |   `-- haproxy.cfg|       |   `-- install.sls|       |-- keepalived|       |   |-- files|       |   |   |-- keepalived|       |   |   |-- keepalived-2.0.6.tar.gz|       |   |   `-- keepalived.conf|       |   |-- install.sls|       |   `-- service.sls|       |-- _modules|       |   `-- my_disk.py|       `-- top.sls|-- highstate.cache.p|-- module_refresh|-- pkg_refresh|-- proc`-- sls.p14 directories, 18 files

(2)salt中的常用模块ssh

<1>server4关闭salt-minion

<2>在server1上安装salt-ssh

 [root@server1 ~]# yum install -y salt-ssh

<3>在server上编辑ssh的配置文件

  [root@server1 ~]# vim /etc/salt/rosterserver3:host: 172.25.1.4       # 想要连接的主机user: root             # 该主机的超级用户passwd: redhat         # 该超级用户的密码

<4> 在server1中连通server4

salt-ssh 'server4' test.ping -i

<5>server1中执行命令,不启动minion

[root@server1 salt]# salt-ssh 'server4' cmd.run 'df -h'
server4:Filesystem                    Size  Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root   14G  1.1G   12G   9% /tmpfs                         499M   16K  499M   1% /dev/shm/dev/vda1                     485M   33M  427M   8% /boot

(3) salt-syndic功能

<1> 选server4作为top master,关闭server4的minion,server1中去掉server4的minion

 [root@server4 ~]# /etc/init.d/salt-minion stop[root@server4 ~]# chkconfig salt-minion off

<2> server4中安装salt-master

   [root@server4 ~]# yum install salt-master

<3>修改sevrer4中master配置文件

vim /etc/salt/master
857 order_masters: True    # 打开允许syndic功能

<4>server1中安装salt-syndic

[root@server1 ~]# yum install salt-syndic -y
[root@server1 ~]# vim /etc/salt/master
861 syndic_master: 172.25.1.4    # 设置top master为server4
[root@server1 ~]# /etc/init.d/salt-master restart
Stopping salt-master daemon:                               [确定]
Starting salt-master daemon:                               [确定]
[root@server1 ~]# /etc/init.d/salt-syndic start   #需要启动syndic否则无法交换公钥
Starting salt-syndic daemon:                               [确定]

<5> server4中发现server1

   salt-key -A[root@server4 ~]# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
server1
Rejected Keys:
[root@server4 ~]# salt-key -A 
The following keys are going to be accepted:
Unaccepted Keys:
server1
Proceed? [n/Y] Y
Key for minion server1 accepted.

<6>sevrer4上执行推送,推送到了server1的各个minion端

[root@server4 ~]# salt '*' test.ping    #在top master可以看到master管理的节点,减轻了master端的压力
server1:True
server2:Trueserver3:True

这篇关于saltstack执行模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/993638

相关文章

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

grom设置全局日志实现执行并打印sql语句

《grom设置全局日志实现执行并打印sql语句》本文主要介绍了grom设置全局日志实现执行并打印sql语句,包括设置日志级别、实现自定义Logger接口以及如何使用GORM的默认logger,通过这些... 目录gorm中的自定义日志gorm中日志的其他操作日志级别Debug自定义 Loggergorm中的

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.