In genere, quando un tecnico DevOps esegue il provisioning di una macchina virtuale nell'ambiente vSphere IaaS control plane, un modello OVF include dettagli hardcoded come la configurazione di rete di base. Tuttavia, è possibile che non si sappia e spesso che non sia possibile assegnare determinati valori alle proprietà OVF della macchina virtuale, ad esempio i dati di rete forniti da IPAM, finché la CR della macchina virtuale non viene creata. Con il supporto delle stringhe dei modelli, non è necessario conoscere in anticipo le informazioni della rete. È possibile utilizzare la creazione di modelli basati su Golang per popolare i valori delle proprietà OVF e configurare lo stack di rete della macchina virtuale.
Procedura
- Assicurarsi che per tutte le proprietà da configurare, il file OVF includa la voce ovf:userConfigurable="true".
Questa voce consente al sistema di sostituire i segnaposto dei valori di rete, come i server dei nomi e l'IP di gestione, con i dati reali dopo la raccolta dei dati.
Utilizzare l'esempio seguente.
<Property ovf:key="hostname" ovf:type="string" ovf:userConfigurable="true" ovf:value="ubuntuguest">
<Description>Specifies the hostname for the appliance</Description>
</Property>
<Property ovf:key="nameservers" ovf:type="string" ovf:userConfigurable="true" ovf:value="1.1.1.1, 1.0.0.1">
<Label>2.2. DNS</Label>
<Description>A comma-separated list of IP addresses for up to three DNS servers</Description>
</Property>
<Property ovf:key="management_ip" ovf:type="string" ovf:userConfigurable="true">
<Label>2.3. Management IP</Label>
<Description>The static IP address for the appliance on the Management Port Group in CIDR format (Eg. ip/subnet mask bits). This cannot be DHCP.</Description>
</Property>
- Creare il file YAML della macchina virtuale con le stringhe del modello.
Le stringhe del modello per le risorse di bootstrap raccoglieranno i dati necessari per popolare i valori delle proprietà OVF.
È possibile utilizzare uno dei metodi seguenti per creare le stringhe dei modelli.
- Distribuire la macchina virtuale.
kubectl apply -f file_name.yaml
Operazioni successive
Se la personalizzazione non riesce e la macchina virtuale non ottiene un indirizzo IP, ispezionare la macchina virtuale utilizzando la console Web della macchina virtuale vSphere. Vedere Risoluzione dei problemi relativi alle macchine virtuali mediante la console Web della macchina virtuale vSphere.