自动安装问题 22.04.2 服务器打包程序

自动安装问题 22.04.2 服务器打包程序

使用自动安装时出现奇怪的问题,它会启动 cloud-init 并开始执行某项操作,但到达 subiquity/meta/status_get 后就失败了。

因此,我正在使用 ubuntu 20.04 移至 22.04 packer 1.9.1 部署 ubuntu-22.04.2-live-server-amd64.iso

  cd_files = [
    "./http/meta-data",
    "./http/user-data"
    ]
  cd_label = "cidata"
  boot_wait = "2s"

  boot_command = [
    "<enter><wait><f6><wait><esc><wait>",
    "linux /casper/vmlinuz ",
    "<wait><enter>",
    "initrd /casper/initrd",
    "<wait><enter>",
    "autoinstall",
    "<wait><enter>",
    "boot"
  ]

用户数据文件如下。(精简到基本内容)

#cloud-config
autoinstall:
  version: 1
  identity:
    hostname: tf-edu-ubuntu
    realname: builduser
    username: builduser
    password: "encrypted"

这是我遇到的错误。

在此处输入图片描述

任何帮助都会受到感激,即使只是为了获取更多的日志。

希望有人能遇到这个吗?那就开始吧。

更新向打包程序添加了一些日志并发现以下内容。

2023/07/21 09:12:13 packer-builder-vsphere-iso plugin: [INFO] Waiting for SSH, up to timeout: 2h46m40s
==> vsphere-iso.this: Waiting for SSH to become available...
2023/07/21 09:12:13 packer-builder-vsphere-iso plugin: [DEBUG] Error getting SSH config: SSH_AUTH_SOCK is not set

更新

由于 SSH 问题,我使用 putty 连接到服务器,但用户数据和 vSphere 配置中使用的用户名和密码不允许我连接。


我找到了隐藏的答案。这有效并启用了 cloudinit。

boot_command = [
    "<down><down><down><end>",
    " autoinstall ds=nocloud;",
    "<F10>"
  ]

答案1

boot_command实际上是输入到控制台中的。您可以打开虚拟机的控制台并查看它是否发生。

为了简单起见,我假设<enter><wait><f6><wait><esc><wait>进入 grub 命令行。对于你的情况,其余的boot_command将在控制台中输入以下内容。

linux /casper/vmlinuz 
initrd /casper/initrd
autoinstall
boot

您希望他们输入

linux /casper/vmlinuz autoinstall
initrd /casper/initrd
boot

屏幕截图告诉了你这一点。该autoinstall参数不是内核命令行的一部分。调整你的boot_command

相关内容