一.编写插件基类 1.目录结构 1.我是如何获知我有多少种系统? 当客户端第一连接过来的时候,我就已经把这些文件存下来了 ,存在到哪里了?存到数据库了 每次对主机发送命令的动作时,我从库里把数据取出来,我去判断有几种就可以,每个模块执行之前都要这样的判断, 直接把用户分配给了不同的模块,这就变成我了我每个模块都要写一边(重复劳动) 写一个公共的类,就是提取这些,你一定要有一个公共的类,他的作用是为了规范其他的模块 2.运行结果截图 cmd和state只要一执行就会自动去提取主机 二.获取主机列表…
本节内容 一. 主机管理项目需求分析 二 .主机管理项目架构设计 三.主机管理项目初始构建 四. 主机管理项目编主机分发器 一. 主机管理项目需求分析 场景:我现在又一台裸机要实现一下人物 配置管理: 1.装上nginx,mysql 2.nginx用我指定的配置文件 3.mysql用户 4.设置一个默认的数据库访问权限 5.启动mysql and nginx 场景:因为200台机器要连接200次,要花很长时间,写一个脚本.分发到所有的机器,然后再执行脚本, 问题: 1.脚本执行出错 2.客户端环…
1.salt架构图 https://docs.saltstack.com/en/getstarted/system/plugins.html plug-ins(左边):场景可插拔 subsystem-core-subsystem(中间蓝色部分): 执行命令 分发文件 安全存储数据 plug-ins(右边边): 通过命令行执行 标准的接口可以进行二次开发 可以用什么样的形式去描述机器能认识的 任务结果可以存储的 plug-ins(下面) 包-变成命令 2.远程执行流程: 流程图(官方图) 流程说明…
项目目标 salt state.apply -h "ubuntu,centos" -g "ubuntu,centos" -f "ubuntu,centos" 文件目录规划 配置文件详解 步骤一:创建一个salt salt配置文件 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Alex Li import os,sys if __name__ == "__main__"…
在ASP.NET MVC项目开发,还是需要创建一些Web Page来实现一些功能,如呈现报表等... 但是一旦项目的.ASPX网页太多了,其中的程序代码也会有代码冗余,出现这些情况,我们得需要对这些代码进行重构. 比如,项目中需要呈现很多报表,就会创建许多.aspx网页: 所有呈现报表的.aspx.cx代码都一样,唯独高亮的部分有区别. 按照面向对象编程,可以把这些代码提升去父类中去. 把不相同的地方,改为方法的参数即可. 接下来,我们需要对.aspx.cs实现对基类的继承> 但不管怎样,当我们…
config.yaml存储zabbix的信息(主要包括zabbix server的url .请求头部.登陆的用户名密码) Zabbix_Config: zabbix_url: http://192.168.1.179/zabbix/api_jsonrpc.php zabbix_header: {"Content-Type": "application/json"} zabbix_user: Admin zabbix_pass: zabbix auth.py文件,主要…
一.动态调用插件解析 1.目录结构 1.base_module代码解析: def syntax_parser(self,section_name,mod_name,mod_data): print("-going to parser state data:",section_name,mod_name) for state_item in mod_data: print("\t",state_item) for key,val in state_item.items…
一.总目录 二.具体代码 salt #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:luoahong import os,sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Stark.settings") BASE_DIR = os.path.dirname(os.path.di…
1.场景: 我现在又一台裸机要实现一下任务 2.配置管理: 1.装上nginx,mysql 2.nginx用我指定的配置文件 3.mysql用户 4.设置一个默认的数据库访问权限 5.启动mysql and nginx 场景:因为200台机器要连接200次,要花很长时间,写一个脚本.分发到所有的机器,然后再执行脚本, 问题: 1.脚本执行出错 2.客户端环境,不相同(没有判断时什么操作系统) 3.重复脚本内容(很多时候,经常要装各种服,今天装apache,明天装nginx这样不停的重复劳动) 4…
一.开发目标命令格式如下: 二.目录结构 三.代码注解 01.salt.py 只是一个入口,没干什么事情 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:luoahong import os, sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Stark.settings") B…