

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# VMware`cloud-init`configurazione guestinfo per on AL2023 VMware
<a name="vmware-guestinfo"></a>

 VMwaregli ambienti non dispongono di [Amazon EC2 Instance Meta Data Service (IMDS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service), quindi è necessario un metodo di configurazione AL2023 alternativo. Questa sezione descrive come utilizzare un meccanismo di configurazione alternativo all'unità CD-ROM `seed.iso` virtuale disponibile in VMware vSphere. 

 Questo metodo di configurazione utilizza il VMware `extraconfig` meccanismo per fornire i dati di configurazione a. `cloud-init` Per ciascuna delle seguenti chiavi, deve essere fornita una ***keyname*.encoding** proprietà corrispondente. 

 È possibile fornire al VMware `extraconfig` meccanismo le seguenti chiavi. 

** `guestinfo.metadata` **  
 JSON o YAML contenenti metadati `cloud-init` 

** `guestinfo.userdata` **  
 Un documento YAML contenente dati utente `cloud-init` nel formato `cloud-config`. 

** `guestinfo.vendordata` (facoltativo) **  
 YAMLcontenente i dati del `cloud-init` fornitore 

 Le proprietà di codifica corrispondenti (`guestinfo.metadata.encoding`, `guestinfo.userdata.encoding` e `guestinfo.vendordata.encoding`) possono contenere: 

** `base64` **  
 Il contenuto della proprietà è codificato con `base64`. 

** `gzip+base64` **  
 Il contenuto della proprietà è compresso con `gzip` dopo la codifica con `base64`. 

**Nota**  
 Il `seed.iso` metodo supporta un file di `network-config` configurazione separato (opzionale). VMware`guestinfo`differisce nel modo in cui viene fornita la configurazione di rete. Ulteriori informazioni sono fornite nella sezione seguente. 

 Se desideri una configurazione di rete esplicita, devi incorporarla in `metadata` sotto forma di due proprietà YAML o JSON: 

** `network` **  
 Contiene la configurazione di rete codificata in formato JSON o YAML. 

** `network.encoding` **  
 Contiene la codifica dei suddetti dati di configurazione di rete. Le codifiche supportate da `cloud-init` sono le stesse dei dati `guestinfo`: `base64` e `gzip+base64`. 

**Example Utilizzo dello strumento VMware vSphere **govc** CLI per passare la configurazione con `guestinfo`**  

1.  Preparare `meta-data` i `user-data` file di `network-config` configurazione e quelli opzionali come descritto in. [NoCloud (`seed.iso`) `cloud-init` configurazione per Amazon Linux 2023 su KVM e VMware](seed-iso.md) 

1.  Convertire i file di configurazione in formati utilizzabili da VMware`guestinfo`. 

   ```
   # '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"
   ```