Por lo general, cuando un ingeniero de desarrollo y operaciones aprovisiona una máquina virtual en el entorno de vSphere IaaS control plane, una plantilla de OVF incluye detalles codificados de forma rígida, como la configuración básica de red. Sin embargo, es posible que no sepa (y a menudo no pueda) asignar ciertos valores a las propiedades de OVF de la máquina virtual, como los datos de red proporcionados por IPAM, hasta después de crear el recurso personalizado de la máquina virtual. Gracias a la compatibilidad con cadenas de plantillas, no es necesario conocer la información de red de antemano. Puede utilizar plantillas basadas en Golang para rellenar los valores de propiedades de OVF y configurar la pila de red de la máquina virtual.
Procedimiento
- Asegúrese de que el archivo OVF incluya la entrada ovf:userConfigurable="true" para que se configuren todas las propiedades.
Esta entrada permite que el sistema sustituya los marcadores de posición del valor de redes, como servidores de nombres e IP de administración, por datos reales después de que se recopilen los datos.
Utilice el siguiente ejemplo.
<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>
- Cree el archivo YAML de máquina virtual con cadenas de plantilla.
Las cadenas de plantilla para los recursos de arranque recopilarán los datos necesarios para rellenar los valores de propiedad de OVF.
Puede utilizar uno de los siguientes métodos para construir cadenas de plantillas.
- Implemente la máquina virtual.
kubectl apply -f file_name.yaml
Qué hacer a continuación
Si se produce un error en la personalización, y la máquina virtual no obtiene una dirección IP; inspeccione la máquina virtual mediante la consola web de máquina virtual de vSphere. Consulte Solucionar problemas de máquinas virtuales mediante la consola web de máquina virtual de vSphere.