Généralement, lorsqu'un ingénieur DevOps provisionne une machine virtuelle dans l'environnement vSphere IaaS control plane, un modèle OVF inclut des détails codés en dur, tels que la configuration réseau de base. Cependant, vous pouvez ne pas connaître et souvent ne pas attribuer certaines valeurs aux propriétés OVF de la machine virtuelle, telles que les données réseau fournies par IPAM, jusqu'à ce que la CR de machine virtuelle soit créée. Avec la prise en charge des chaînes de modèles, vous n'avez pas besoin de connaître les informations réseau à l'avance. Vous pouvez utiliser des modèles basés sur Golang pour remplir les valeurs de propriété OVF et configurer la pile réseau de la machine virtuelle.
Procédure
- Assurez-vous que pour toutes les propriétés à configurer, votre fichier OVF inclut l'entrée ovf:userConfigurable="true".
Cette entrée permet au système de remplacer les espaces réservés des valeurs de mise en réseau, telles que les serveurs de noms et l'adresse IP de gestion, par des données réelles après la collecte des données.
Utilisez l'exemple suivant.
<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>
- Créez le fichier YAML de la machine virtuelle avec des chaînes de modèle.
Les chaînes de modèle pour les ressources de démarrage collectent les données nécessaires pour remplir les valeurs des propriétés OVF.
Vous pouvez utiliser l'une des méthodes suivantes pour créer des chaînes de modèle.
- Déployez la machine virtuelle.
kubectl apply -f file_name.yaml
Que faire ensuite
Si la personnalisation échoue et que la machine virtuelle n'obtient pas d'adresse IP, inspectez la machine virtuelle à l'aide de la console Web de vSphere. Reportez-vous à la section Dépanner les machines virtuelles à l'aide de la console Web de machine virtuelle vSphere.