Ubuntu 自动安装,如何真正让它工作?

Ubuntu 自动安装,如何真正让它工作?

我在构建有效的自动安装过程时遇到了很大麻烦。这是针对 20.04.2.0 的;首先,使用 VMware ESXI 主机对其进行测试。

我认为我能做的是:

  • 从 ISO 启动虚拟机,然后
  • 在内核提示符下指定参数以引入自动安装数据并构建虚拟机

我最近测试过的内核/启动参数(启动 ISO,按 SHIFT,输入命令):

  1. vmlinuz=/casper/vmlinuz initrd=/casper/initrd 自动安装 ip=dhcp ds=nocloud-net;s=http://our-mirror/media/ubuntu-20.04.2.0/

  2. root=/dev/ram0 ramdisk_size=1500000 fsck.mode=skip autoinstall ds=nocloud-net;s=http://our-server/media/[包含用户数据等] ip=dhcp url=http://our-server/media/ubuntu-20.04.3-live-server-amd64.iso cloud-config-url=http://our-server/media/ [似乎多余] — splash

以及上述基于不同示例的几个变体。关于这应该如何工作,存在许多不同的意见——我发现文档很有挑战性。

到目前为止,什么都没起作用。我看到了用户数据、元数据和供应商数据的 HTTP 拉取,但通常该过程会崩溃/停止。

在一个实例中,Ubuntu 创建了 SSH 密钥并停止了安装——以方便登录和日志审查。很好,除了没有安装 VMware-tools 就无法在 VMware 的控制台上复制粘贴。但是,我确实发现了几个错误:

“未找到内核命令行 URL”

“未找到本地数据源”

这让我感到很困惑。难道我不应该能够从同一版本的 ISO 启动,并将安装程序指向自动安装数据并运行它吗?我也尝试过从 ISO 启动并让它从 HTTP ISO 中提取/安装,多种组合。没有运气。

我不明白为什么需要单独的用户数据、供应商数据和元数据文件——这似乎没有必要,或者可以简单地将其包含在自动安装文件(“用户数据”)中的 YAML 配置下,或者为什么这些文件必须位于 ISO 目录的根目录中。如果您要部署不同类型的安装,这将无法扩展。

Kickstart 并不那么复杂,并且有更好的文档。

我们确实有可用的 PXE,我们将使用 Foreman,但直到我获得可行的自动安装后,我们才接近这一点。对于 Foreman,您必须将安装过程分解一点(分区、配置)。

我希望有人能帮助澄清如何让它工作;我花了很多时间试图弄清楚这一点:)

提前致谢。

相关内容