我正在嘗試使用 ovf 配置部署虛擬機,我的目標是將 OVF 環境中使用者提供的鍵值傳遞到使用 vmware guestinfo 的虛擬機。以下是我新增到 ovf 檔案中的設定/屬性
<ProductSection ovf:required="false">
<Info>Virtual Appliance</Info>
<Property ovf:userConfigurable="true" ovf:type="string"
ovf:key="guestinfo.hello" ovf:value="">
<Label>hello</Label>
<Description>enter some string</Description>
</Property>
</ProductSection>
....
<VirtualHardwareSection ovf:transport="com.vmware.guestInfo">
....
部署虛擬機器後,我可以在虛擬機器 vApp 選項下驗證 OVF 環境中的屬性。這是我所看到的
<?xml version="1.0" encoding="UTF-8"?>
<Environment
xmlns="http://schemas.dmtf.org/ovf/environment/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
xmlns:ve="http://www.vmware.com/schema/ovfenv"
oe:id=""
ve:vCenterId="vm-11260">
<PlatformSection>
<Kind>VMware ESXi</Kind>
<Version>6.0.0</Version>
<Vendor>VMware, Inc.</Vendor>
<Locale>en</Locale>
</PlatformSection>
<PropertySection>
<Property oe:key="guestinfo.hello" oe:value="world"/>
</PropertySection>
<ve:EthernetAdapterSection>
<ve:Adapter ve:mac="00:50:56:b2:d2:8a" ve:network="VLAN1804-
10.22.162.0/25" ve:unitNumber="7"/>
<ve:Adapter ve:mac="00:50:56:b2:83:ea" ve:network="VLAN1804-
10.22.162.0/25" ve:unitNumber="8"/>
</ve:EthernetAdapterSection>
</Environment>
最後,當我登入盒子並嘗試使用 vmtoolsd cmd 來取得 guestinfo 屬性時
vmtoolsd --cmd“資訊獲取你好”
我正進入(狀態
“沒有發現任何價值”
我需要幫助調試這個問題。不太確定我的 OVF 配置中是否缺少某些內容。提前致謝。我感謝您的幫助!
答案1
我想沒有直接的方法來專門獲取密鑰,但我可以vmtoolsd --cmd "info-get guestinfo.ovfenv"
在我的盒子上運行並且輸出是
<?xml version="1.0" encoding="UTF-8"?>
<Environment
xmlns="http://schemas.dmtf.org/ovf/environment/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
xmlns:ve="http://www.vmware.com/schema/ovfenv"
oe:id=""
ve:vCenterId="vm-xxxx">
<PlatformSection>
<Kind>VMware ESXi</Kind>
<Version>6.0.0</Version>
<Vendor>VMware, Inc.</Vendor>
<Locale>en</Locale>
</PlatformSection>
<PropertySection>
<Property oe:key="guestinfo.hello" oe:value="world"/>
</PropertySection>
<ve:EthernetAdapterSection>
<ve:Adapter ve:mac="00:50:56:b2:d2:8a" ve:network="VLAN1804-
xxx.xxx.xxx.0/25" ve:unitNumber="7"/>
<ve:Adapter ve:mac="00:50:56:b2:83:ea" ve:network="VLAN1804-
xxx.xxx.xxx.0/25" ve:unitNumber="8"/>
</ve:EthernetAdapterSection>
</Environment>
這是我在vcenter 中的虛擬機器的OVF 環境中看到的。假設這是使用 vmtools 從虛擬機器取得鍵值的一種方法