在裸机上部署磁盘映像

我尝试了解Foreman和其他部署/供应系统,以及如何最好地使用它们。 当然,使用某种准备好的答案和脚本安装操作系统 – Kickstart,AutoYAST等是大多数情况下的最佳方式 。

但是,当您想要将相同的系统部署到裸机云时,您将回到云部分的图像(最佳方式是通过脚本构build,因此您可以将图像构build视为代码)。 现在考虑你的裸机是同一types的, 将云映像部署到裸机也没有意义吗?

有某种从某个地方抽取磁盘镜​​像的PXE系统,运行一些类似于cloud-init的脚本,然后重新启动? 这样的系统甚至可以用于其他供应系统。 然而我却没有发现这种情况,甚至没有对此进行讨论,这表明我走错了路。 FOG项目或DRBL可能是候选人,但似乎没有人写关于与福尔曼一起使用他们?

您应该区分configuration软件,如部署先前捕获的HDD映像的FOG,或者部署常规安装映像的Foreman,添加一些已经制作的通用自动化脚本。 两个系统都不是为了一起工作。 他们追求不同的目标。

根据你的需要,不可能有一个单一的设置能够同时configuration一个裸机,那么你必须拥有2个“资产”,即使它们确实是由相同的安装发行版制成,但configuration不同。

当您想要将已部署的硬盘映像复制到完全相同的硬件时,FOG非常好。 Foreman将预制脚本添加到了经典的PXEconfiguration公式中,但最终你只是写/定制kickstart / preseed脚本。 如果您尝试安装自动化Windows而不是Linux,则更为复杂。

您还可以使用Serva (自动化PXE服务器解决scheme加速器),它允许您根据您的需要为基于分发ISO的许多资产提供networking部署。 您可以根据需要编写Windows和Linux资产的自动脚本。 Serva在单个exe中包含所有必需的服务器组件(DHCP / proxyDHCP / TFTP / HTTP / RIS / WDS)。 (我与塞尔瓦发展有关)

非常好的问题,我实际上正在这个工作stream程。 当我在布尔诺的2017年DevConf上谈论这件事时,我应该在两周内准备好我的补丁。 之后检查此拉取请求。

https://github.com/theforeman/foreman-discovery-image/pull/44

这将被集成在Foreman Discovery Image中,并用于传输它将使用UDP Cast工具。

那么我在我们的环境中就是这么做的。 这个工作被简化为一个插件,你可以使用工头,这是@lzap 工头发现图像的扩展。

检查出来, https://github.com/deltaprojects/foreman_discovery_image_installer它描述了你所需要的,归结到这

  1. 使用openstack diskimage-builder或类似工具创build操作系统映像。
  2. configuration工头[创buildPXE,完成,configuration模板并与操作系统关联]。
  3. 运行create_image_installer_zip.sh和image_installer.zip复制到您的TFTP服务器。
  4. PXE引导与创build的模板匹配,观察它将映像安装到磁盘,重新引导并运行cloud-init来引导节点。