返回顶部
p

pve-builderPVE构建器

Proxmox VE VM builder with cloud-init automation, config-driven hardware defaults, validation, and static IP support

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.11
安全检测
已通过
161
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

pve-builder

关键:代理访问限制

您无权访问 Proxmox

代理在您的本地机器上运行——而非 Proxmox 上

禁止操作:

  • - 尝试运行 qm 命令
  • 尝试运行 pvesh 命令
  • 检查存储可用性
  • 验证虚拟机创建
  • 访问 Proxmox API

必须执行:

  • - 以文本形式输出命令,供用户复制粘贴
  • 告知用户应 SSH 到哪个节点
  • 将密钥存储在可配置目录中(默认:~/.ssh/pve-builder/)
  • 切勿声称创建了虚拟机
  • 使用网络搜索验证规格



PVE Builder 技能

概述

生成带有 cloud-init 配置、SSH 密钥管理和可选数据盘的 Proxmox 虚拟机创建命令。所有硬件默认值通过 pve-env.md 进行配置驱动。

重要提示: 命令以文本形式输出,供您复制粘贴到 Proxmox shell 中。代理不会执行任何 Proxmox 命令。



环境设置

  • - 配置文件: 技能目录中的 pve-env.md
  • 从 git 忽略: .gitignore 排除 pve-env.md

关键配置项(pve-env.md)

部分用途
代理需要代理、HTTP 代理、HTTPS 代理、代理 CA 证书虚拟机内 apt 的网络代理
SSH
默认用户、密钥路径、密钥类型 | 默认 SSH 用户、密钥存储位置、密钥类型 | | 网络 | 默认桥接、默认 VLAN、DNS 服务器、使用 DHCP 默认、网络接口 | 默认网络设置和接口类型 | | 存储 | 默认存储、模板路径、默认系统盘大小、自动格式化数据盘、数据盘接口、默认云镜像 | 存储默认值和云镜像路径 | | 节点 | 默认节点、BIOS 类型、机器类型、CPU 类型、OS 类型、SCSI 控制器、开机自启 | 虚拟机创建的硬件默认值 | | 工作负载预设 | 预设表(内存/CPU/磁盘) | 每种工作负载类型的推荐规格 | | 软件包默认值 | 软件包更新、基础软件包 | 始终安装的软件包列表 |

代理工作流程

工作流程使用基于部分的编号提示,各部分编号连续:

=== 虚拟机规格 ===

  1. 1. CPU 核心数 2. CPU 插槽数 3. 内存(GB) 4. 系统盘大小

=== 网络 ===

  1. 5. 桥接 6. VLAN 7. DHCP?

[如果静态:] 8. IP 9. 网关 10. DNS

=== 用户与磁盘 ===

  1. 11. SSH 用户 12. 添加数据盘? 13. 格式化? 14. 数量 15.x:磁盘大小
  2. 代理? 16. 额外软件包 17. SSH 密钥目录

步骤:

  1. 1. 加载 pve-env.md(如果缺失则报错)
  2. 询问云镜像路径(默认来自配置:模板路径 + 默认云镜像)
  3. 询问 Proxmox 节点(默认来自配置)
  4. 验证存储/桥接/镜像(见下方验证部分)
  5. 询问虚拟机名称
  6. 软件查询(名称或 URL)→ 网络搜索内存/CPU 推荐(或手动输入)
  7. 提示规格(编号提示:核心数、插槽数、内存、系统盘大小)
  8. 提示网络(桥接、VLAN、DHCP 与静态)
  9. 静态 IP 详情(仅当不使用 DHCP 时)
  10. 提示 SSH 用户名
  11. 提示数据盘(数量、大小、格式化选项)
  12. 代理配置(是/否/更改)
  13. 额外 apt 软件包
  14. SSH 密钥目录(默认来自配置)
  15. 密码设置始终通过 openssl rand -base64 12 | tr -d /+= | head -c16 生成随机密码。在 chpasswd 中使用此密码。如果用户明确提供密码,则使用用户提供的密码。始终在最终输出摘要中显示密码。
  16. 生成 SSH 密钥(每个虚拟机唯一的 ed25519 密钥)
  17. 显示摘要并确认
  18. VMID 自动检测 — 要求用户在 Proxmox 节点上运行 pvesh get /cluster/nextid 并粘贴结果。在所有生成的命令中使用该 VMID。切勿硬编码 VMID — 始终从集群获取下一个 ID。在输出中添加 # 如果 VMID=... 已被占用,请替换 注释。
  19. 构建 cloud-init user-data YAML(软件包、代理、数据盘格式化)
  20. 预检验证(见下方命令预检验证)— 内部生成命令,验证,修复错误,然后呈现
  21. 生成并显示最终验证的命令,分为两部分:设置命令(创建虚拟机至 qm start)和启动后清理(删除 snippets YAML — 仅在虚拟机确认启动后运行)。
  22. 可选:将命令保存到文件
  23. 显示 SSH 密钥路径和 chmod 提醒

验证

在生成命令之前,代理验证目标存储、桥接和云镜像是否存在于 Proxmox 节点上。

缓存系统

  • - 缓存文件: ~/.pve-builder/validation.json
  • 有效期: 24 小时
  • 缓存失效条件: 节点、存储或桥接值发生变化
  • 缓存命中时: 如果所有检查均通过,则跳过验证

验证过程

如果没有有效缓存,代理显示以下命令供用户在 Proxmox 节点上运行:

bash
echo === 存储 ===; pvesm status
echo === 桥接 ===; ip -br link show
echo === 镜像 ===; ls -la <镜像路径>
echo === 结束 ===

解析结果:

  • - 存储: 检查配置的存储名称是否存在于 pvesm status 中
  • 桥接: 验证桥接接口是否存在且状态为 UP
  • 镜像: 确认云镜像文件存在于指定路径

失败时: 代理中止并报告哪些检查失败。
成功时: 结果与节点/存储/桥接/时间戳一起缓存。

注意事项

  • - 自定义 cloud-init user-data 写入 /var/lib/vz/snippets/<虚拟机名称>-user-data.yaml,并通过 --cicustom user=local:snippets/<虚拟机名称>-user-data.yaml 附加。local:snippets/ 存储路径映射到 Proxmox 节点上的 /var/lib/vz/snippets/。切勿使用 /var/lib/vz/template/cloud-init/ — 该目录不是 Proxmox 认可的 snippets 存储目标。
  • --cicustom 在每次启动时读取 snippets 文件。 虚拟机启动时,snippets YAML 必须存在于节点上 — 没有它,cloud-init 将无法应用。在首次启动之前,请勿删除 snippets 文件。
  • 始终在生成的命令顶部包含 mkdir -p /var/lib/vz/snippets
  • 设置 --ide2 和 --citype 后,添加 --cicustom 以连接 user-data:qm set $VMID --cicustom user=local:snippets/${虚拟机名称}-user-data.yaml。
  • 设置 --cicustom 后,在启动前重新生成 cloud-init 驱动器: qm cloudinit update $VMID。
  • ssh_pwauth:配置密码时设置为 true(这样密码才能通过 SSH 实际生效)。仅限 SSH 密钥的虚拟机设置为 false。
  • 获取下一个 VMID 的命令作为提示提供;代理不运行 Proxmox 命令
  • SSH 密钥存储在本地配置的目录中(默认:~/.ssh/pve-builder/)
  • 生成的命令在末尾包含清理步骤:列出 cloud-init YAML 文件供审查,然后删除当前虚拟机的文件。重要提示: 清理步骤(删除 snippets YAML)不得使用 set -e 或位于主命令块中。它应位于单独的启动后部分,仅在虚拟机确认运行且 cloud-init 应用后执行。如果用户在首次启动前删除 YAML,cloud-init 将静默失败。
  • 始终在验证/最终部分包含 echo VMID: ,以便用户引用 VMID

命令预检验证

在未运行此验证之前,切勿向

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 pve-builder-1775975544 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 pve-builder-1775975544 技能

通过命令行安装

skillhub install pve-builder-1775975544

下载

⬇ 下载 pve-builder v1.0.11(免费)

文件大小: 16.77 KB | 发布时间: 2026-4-13 11:40

v1.0.11 最新 2026-4-13 11:40
- Removed the `pve-env.md` configuration file and two test scripts (`run-test.js`, `test-sim.js`).
- No other changes to documentation or functionality.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部