在 ESXi 上为 Ubuntu OVA 分配 IPv4 地址

在 ESXi 上为 Ubuntu OVA 分配 IPv4 地址

如何获取从 Ubuntu OVA 部署的 ESXI 6.7 上的 Ubuntu 1904 VM 的 IPv4 地址?

我正在使用 部署 OVA govc,并提供了以下规范文件。值得注意的是IPProtocolIPAllocationPolicyWaitForIP字段。

{
  "DiskProvisioning": "flat",
  "IPAllocationPolicy": "fixedAllocationPolicy",
  "IPProtocol": "IPv4",
  "WaitForIP": true,
  "PropertyMapping": [
    {
      "Key": "instance-id",
      "Value": "id-ovf"
    },
    ...

当虚拟机启动时,它具有 IPv6 本地链路地址(fe80::20c:29ff:fe78:c846),而不是 IPv4 地址。

我尝试使用以下cloud-init云配置进行部署,但无济于事。cloud-init日志中没有明显的错误。云配置的其他元素工作正常(例如写入helloworld.json)。

#cloud-config

chpasswd:
    list: |
      ubuntu:ubuntu
    expire: false

write_files:
  - content: |
        {
          "say": "helloworld"
        }
    path: /etc/helloworld.json

network:
  version: 2
  renderer: networkd
  ethernets:
    ens192:
     dhcp4: no
     addresses: [10.0.0.0/24]
     gateway4: 10.0.0.254
     nameservers:
       addresses: [8.8.8.8,8.8.4.4]

我正在尝试将此虚拟机作为自动化过程的一部分启动,并希望在启动后通过 SSH 进入它。我对编码的了解多于对网络的了解,因此任何帮助都将不胜感激。

答案1

我自己没有这样做过,但在我看来,对于 ESXi(与 vCenter 不同,它没有数据库来存储属性),你需要将以下内容添加到 spec 文件中

{
...
  "InjectOvfEnv": true,
  "PowerOn": true,
...

我在第 6 步中找到了一个例子https://www.virtuallyghetto.com/2016/04/slick-way-of-deploying-ovfova-directly-to-esxi-vcenter-server-using-govc-cli.html

相关内容