

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# VMware`cloud-init`configuración guestinfo para on AL2023 VMware
<a name="vmware-guestinfo"></a>

 VMwarelos entornos no tienen el [Amazon EC2 Instance Metadata Service (IMDS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service), por lo que AL2023 se requiere un método de configuración alternativo. En esta sección se explica cómo utilizar un mecanismo de configuración alternativo a la unidad de CD-ROM virtual `seed.iso` que se encuentra disponible en VMware vSphere. 

 Este método de configuración utiliza el mecanismo `extraconfig` de VMware para proporcionar datos de configuración a `cloud-init`. Para cada una de las siguientes claves, se debe proporcionar la propiedad **{{keyname}}.encoding** correspondiente. 

 Se pueden proporcionar las siguientes claves al mecanismo `extraconfig` de VMware. 

** `guestinfo.metadata` **  
 JSON o YAML que contenga metadatos `cloud-init` 

** `guestinfo.userdata` **  
 documento YAML que contiene datos de usuario `cloud-init` en formato `cloud-config`. 

** `guestinfo.vendordata` (opcional) **  
 YAML que contiene datos del proveedor `cloud-init` 

 Las propiedades de codificación correspondientes (`guestinfo.metadata.encoding`, `guestinfo.userdata.encoding` y `guestinfo.vendordata.encoding`) pueden contener: 

** `base64` **  
 El contenido de la propiedad está codificado en base `base64`. 

** `gzip+base64` **  
 El contenido de la propiedad se comprime con `gzip` después de la codificación `base64`. 

**nota**  
 El método `seed.iso` admite un archivo de configuración `network-config` independiente (opcional). VMware de `guestinfo` difiere en la forma en que se proporciona la configuración de red. Las secciones siguientes facilitarán información adicional. 

 Si se desea una configuración de red explícita, debe estar integrada en `metadata` en forma de dos propiedades YAML o JSON: 

** `network` **  
 Contiene la configuración de red codificada en formato JSON o YAML. 

** `network.encoding` **  
 Contiene la codificación de los datos de configuración de red anteriores. Las codificaciones `cloud-init` admitidas son las mismas que para los datos `guestinfo`: `base64` y `gzip+base64`. 

**Example Uso de la herramienta CLI **govc** de VMware vSphere para pasar la configuración con `guestinfo`**  

1.  Prepare los archivos de configuración `meta-data` y `user-data` y el archivo de configuración opcional `network-config` tal y como se describe en [Configuración de NoCloud (`seed.iso`) `cloud-init` para Amazon Linux 2023 en KVM y VMware](seed-iso.md). 

1.  Convierta los archivos de configuración a formatos utilizables por `guestinfo` de VMware. 

   ```
   # 'meta-data', `user-data` and `network-config` are the configuration
   # files in the same format that would be used by a NoCloud (seed.iso)
   # data source, read-them and convert them to VMware guestinfo
   #
   # The VM_NAME variable is assumed to be set to the name of the VM
   # It is assumed that the necessary govc environment (credentials etc...) are already set
   
   metadata=$(cat "meta-data")
   userdata=$(cat "user-data")
   if [ -e "network-config" ] ; then
       # We need to embed the network config inside the meta-data
       netconf=$(base64 -w0 "network-config")
       metadata=$(printf "%s\nnetwork: %s\nnetwork.encoding: base64" "$metadata" "$netconf")
   fi
   metadata=$(base64 -w0 <<< "$metadata")
   govc vm.change -vm "$VM_NAME" \
       -e guestinfo.metadata="$metadata" \
       -e guestinfo.metadata.encoding="base64"
   userdata=$(base64 -w0 <<< "$userdata")
   govc vm.change -vm "$VM_NAME" \
       -e guestinfo.userdata="$userdata" \
       -e guestinfo.userdata.encoding="base64"
   ```