探索基础设施的宝藏:Plunder——一体化服务器自动化工具
plunderA Modern automation platform项目地址:https://gitcode.com/gh_mirrors/pl/plunder
项目简介
Plunder是一个小巧的单一可执行文件服务器,专为简化服务器、平台和应用程序的部署而设计。通过其API服务器,用户可以直接控制和自动化操作。目前,与API服务器的交互在源代码中详细说明,查看这里,但即将添加文档。
此外,还提供了一个名为pldrctl
的控制工具:
https://github.com/plunder-app/pldrctl - 可用于查询和创建Plunder实例中的部署和配置。
技术解析
Plunder集成了多种服务:
DHCP
- 分配IP地址并引导到TFTP服务器。TFTP
- 使用iPXE启动操作系统安装。HTTP
- 提供服务,使安装器可以从HTTP服务器获取所需组件。
支持通过预设或kickstart自动完成操作系统安装,甚至可以根据Mac地址定制内核和初始ramdisk。
应用场景
- 云环境自动化部署:Plunder可用于快速、一致地部署各种规模的云环境。
- 实验室设置:对于测试和开发环境,Plunder可以轻松创建和销毁服务器实例。
- 数据中心管理:在大规模数据中心,它可以自动处理设备的初始化和更新。
自动化特性
除了基本的部署功能,Plunder还提供了远程命令执行和脚本引擎(支持JSON/YAML以及插件扩展),使得自动化运维更为便捷。
突出特点
- ISO支持 - 不再需要管理员权限挂载ISO,直接从文件读取内容。
- 在线更新 - 通过API进行大部分配置更改,无须停机或重启。
- 内存配置 - 部署配置存储在内存中,保持无状态且不污染文件系统。
- VMware部署支持 - 支持预置/ kickstart 和 vSphere 安装。
- 未分配设备管理 - 监控并保留未部署设备池,直至需要时自动重启。
- 执行日志记录 - 存储所有执行日志至内存,直到清空。
获取Plunder
预编译的Darwin/MacOS/Linux和Windows二进制文件可在发布页面找到。要自己构建,请运行以下命令:
go get -u github.com/plunder-app/plunder
或者克隆仓库后使用go build
或make build
(推荐),使用Makefile将确保返回当前git提交和版本号。
开始使用!
Plunder旨在简化服务器启动过程,减少所需的配置文件数量。它能够自动检测大部分配置,并根据需求自动生成配置。请注意,Plunder不需要替换现有的基础设施组件。
查看完整文档以了解更多信息。
警告:
- 在安全网络上运行,避免与现有DHCP服务冲突。
- 因为需要绑定到低于1024的端口,所以需要root权限或sudo启动服务。
未来计划
- 支持通过VMware VMTools自动化部署。
- 添加Windows部署功能。
- 整理日志输出。
- 稳定性提升。
- 增加更多插件。
加入Plunder的行列,让服务器管理和自动化变得简单!
plunderA Modern automation platform项目地址:https://gitcode.com/gh_mirrors/pl/plunder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考