打包机 vmware iso 本地和 esxi

packer vmware iso local and on esxi

我很想知道为什么加壳程序无法在 ESXi 服务器上获得 ssh 访问权限。该构建在本地适用于 vmware_fusion。

因为 JSON 似乎不能直接在 SF 上很好地显示 - link 到构建器配置的要点:https://gist.github.com/geoHeil/5acf06cb0f3afadfa347d437c2695a7c

当运行

packer build -var-file variables.json -only=vmwarevmwareRemote template.json

kickstart 文件已加载、配置和安装。但是,在 ESXi 作为构建器的情况下,构建似乎停留在等待 SSH 可用的过程中。

我在日志中注意到:

/var/log/auth.log
2017-02-08T17:33:20Z sshd[94210]: User 'root' running command 'esxcli --formatter csv network vm list\n'
2017-02-08T17:33:25Z sshd[94210]: User 'root' running command 'esxcli --formatter csv network vm list\n'

显示很多相同的命令。

手动执行此命令显示

esxcli --formatter csv network vm list
Name,Networks,NumPorts,WorldID,
ubunu-test,"VM Network,",1,87986,
someOther,"VM Network,",1,84833,

这里可能有什么问题?

编辑

packer版本最新0.12.2,esxi 6.5

edit2

在应用设置网络的建议时,同样的问题仍然存在。但现在我在日志中看到 2 个命令

[root@vm-bd-dev:/var/log] tail -f auth.log
2017-02-09T09:05:56Z sshd[111376]: User 'root' running command 'esxcli --formatter csv network vm list\n'
2017-02-09T09:05:56Z sshd[111376]: User 'root' running command 'esxcli --formatter csv network vm port list -w 111433\n'

第二个(新的)输出如下:

ActiveFilters,DVPortID,IPAddress,MACAddress,PortID,Portgroup,TeamUplink,UplinkPortID,vSwitch,
,,0.0.0.0,00:0c:29:47:d5:3d,33554450,VM Network,vmnic2,33554437,vSwitch0,

您可能需要更多 vmx_data 网络设置,例如:

"vmx_data": {
  "ethernet0.networkName": "VM Network",
  "ethernet0.present": "true",
  "ethernet0.virtualDev": "vmxnet3",
  "ethernet0.startConnected": "true",
  "ethernet0.addressType": "generated"
}

将网络接口切换到非硬编码的东西,例如

network --bootproto=dhcp --ipv6=auto --activate

帮我解决了问题。

ESXi 上显然有不同的接口(没有 eth0)。