我们之前的 ISO 生成方法:
xorriso
我们通过 ansible 和其他一些自动化方法在我们的管理程序上为 VM 使用 cloud-init。所以我们对 cloud-init 没有任何问题。然而,由于删除了 Debian 安装程序,因此为了使我们的过程适应新的“cloud-init”方法,如下所述:Ubuntu 自动安装 Wiki 页面
他们所有的例子似乎都是针对 KVM 虚拟机的。没有关于如何在没有 PXE 引导的情况下为物理服务器完成相同任务的文档。
根据他们的自动安装快速入门,每个“自动”安装都需要安装多个图像/文件。当尝试在拥挤的数据中心/通过 IDRAC 启动多个自动安装时,这是不可接受的。
我们已经研究过 MAAS,并在过去使用过它。很简单,PXE 引导不是我们希望在其中一些实例中使用的选项。
如何使用首选的 cloud-init 方法恢复生成单个、可挂载和可引导的 ISO 文件的能力?
TLDR;我们过去常常使用挂载 ubuntu 提供的 iso 来创建预制的 iso 映像,修改映像文件,然后使用xorriso
. 如何通过 cloud-init 完成相同的任务。
研究的选项:
NoCloud - 被拒绝,因为再次只有示例使用 VM,如果我可以将它插入到 iso 中,我很乐意使用 cloud-init 文件。
CENTOS 论坛:我能找到的关于云初始化方法的最佳指南。
Ubuntu 的快速入门指南 - 也仅在示例中列出了 VM
Openstack's Image Guide - 一些信息,没有关于从中构建实际 ISO 或映像的信息。
当我们创建我们的 ISO 时,我们在 grub 菜单中使用一个 linux 命令来启动我们的自动安装:
menuentry "Install Ubuntu Server for IT" {
set gfxpayload=keep
linux /install/vmlinuz file=/cdrom/preseed/customubuntu.preseed debian-installer/locale=en_US console-setup/ask_detect=false console-setup/layoutcode=us keyboard-configuration/xkb-keymap=us auto=true priority=critical quiet ---
initrd /install/initrd.gz
}
如何创建一个好的 grub 菜单条目命令以在同一文件系统/ISO 上使用 cloud-init 文件?
就像是:
linux /install/vmlinuz file=/cdrom/cloudinit/userdata file=/cdrom/cloudinit/metadata console-setup/ask_detect=false console-setup/layoutcode=us keyboard-configuration/xkb-keymap=us auto=true priority=critical quiet ---
更新: s3rj1k 的 GIST提供了一个非常有趣的配置,类似于我们旧的预置方法。我现在正在测试它。
因此,由于没有即将提供的答案,我将回答我自己的问题。
这个论坛主题Ubuntu Discourse Discussion连同:s3rj1k 的 GIST
正在为新的自动安装程序提供一个有效的 iso 创建模型。当前的问题围绕着用户数据和身份,这使得自动安装的 ISO 没有真正可用的用户,除非您使用s3rj1k 的方法并在创建后不久修改 root 并使其过期,这可行,但有一些安全问题 imo。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句