如何获取从 Ubuntu OVA 部署的 ESXI 6.7 上的 Ubuntu 1904 VM 的 IPv4 地址?
我正在使用 部署 OVA govc
,并提供了以下规范文件。值得注意的是IPProtocol
、IPAllocationPolicy
和WaitForIP
字段。
{
"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