saltstack(主机改名)】的更多相关文章

已存在salt中的机器,为了规范,需要将这批主机改名 操作流程:在master把这批机器剔除:然修改这批机器的主机名.在/etc/salt目录下.用mv把minion_id和pki的目录重命名.重启salt-minion服务(在mster段能再次监控到这台主机后.可把上面重命名的文件删除) 环境:http://www.cnblogs.com/zzzhfo/p/6126223.html 把salt-client-01改名为salt-minion-01 在salt-server上把salt-clie…
1.salt架构图 https://docs.saltstack.com/en/getstarted/system/plugins.html plug-ins(左边):场景可插拔 subsystem-core-subsystem(中间蓝色部分): 执行命令 分发文件 安全存储数据 plug-ins(右边边): 通过命令行执行 标准的接口可以进行二次开发 可以用什么样的形式去描述机器能认识的 任务结果可以存储的 plug-ins(下面) 包-变成命令 2.远程执行流程: 流程图(官方图) 流程说明…
本节内容 一. 主机管理项目需求分析 二 .主机管理项目架构设计 三.主机管理项目初始构建 四. 主机管理项目编主机分发器 一. 主机管理项目需求分析 场景:我现在又一台裸机要实现一下人物 配置管理: 1.装上nginx,mysql 2.nginx用我指定的配置文件 3.mysql用户 4.设置一个默认的数据库访问权限 5.启动mysql and nginx 场景:因为200台机器要连接200次,要花很长时间,写一个脚本.分发到所有的机器,然后再执行脚本, 问题: 1.脚本执行出错 2.客户端环…
一.编写插件基类 1.目录结构 1.我是如何获知我有多少种系统? 当客户端第一连接过来的时候,我就已经把这些文件存下来了 ,存在到哪里了?存到数据库了 每次对主机发送命令的动作时,我从库里把数据取出来,我去判断有几种就可以,每个模块执行之前都要这样的判断, 直接把用户分配给了不同的模块,这就变成我了我每个模块都要写一边(重复劳动) 写一个公共的类,就是提取这些,你一定要有一个公共的类,他的作用是为了规范其他的模块 2.运行结果截图 cmd和state只要一执行就会自动去提取主机 二.获取主机列表…
一.总目录 二.具体代码 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…
项目目标 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__"…
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…
一.动态调用插件解析 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…
消息队列 使用队列的场景 在程序系统中,例如外卖系统,订单系统,库存系统,优先级较高 发红包,发邮件,发短信,app消息推送等任务优先级很低,很适合交给消息队列去处理,以便于程序系统更快的处理其他请求. 消息队列工作流程 # 消息队列一般有三个角色: 队列服务端 队列生产者 队列消费者 队列产品 RabbitMQ Erlang编写的消息队列产品,企业级消息队列软件,支持消息负载均衡,数据持久化等. ZeroMQ saltstack软件使用此消息,速度最快. Redis key-value的系统,…