

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# VMware`cloud-init`configuração guestinfo para on AL2023 VMware
<a name="vmware-guestinfo"></a>

 VMwareos ambientes não têm o [Amazon EC2 Instance Meta Data Service (IMDS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service), portanto, é necessário um método alternativo de configuração. AL2023 Esta seção descreve como usar um mecanismo de configuração alternativo para a unidade CD-ROM virtual `seed.iso` que está disponível na VMware vSphere. 

 Esse método de configuração usa o mecanismo `extraconfig` da VMware para fornecer dados de configuração a `cloud-init`. Para cada uma das chaves a seguir, uma propriedade **{{keyname}}.encoding** correspondente deve ser fornecida. 

 As seguintes chaves podem ser fornecidas ao mecanismo `extraconfig` da VMware. 

** `guestinfo.metadata` **  
 JSON ou YAML contendo metadados de `cloud-init` 

** `guestinfo.userdata` **  
 Um documento YAML contendo dados do usuário `cloud-init` no formato `cloud-config`. 

** `guestinfo.vendordata` (opcional) **  
 YAML contendo dados do fornecedor de `cloud-init` 

 As propriedades de codificação correspondentes (`guestinfo.metadata.encoding`, `guestinfo.userdata.encoding` e `guestinfo.vendordata.encoding`) podem conter: 

** `base64` **  
 O conteúdo da propriedade é codificado em `base64`. 

** `gzip+base64` **  
 O conteúdo da propriedade é compactado com `gzip` após a codificação de `base64`. 

**nota**  
 O método `seed.iso` é compatível com um arquivo de configuração `network-config` separado (opcional). O `guestinfo` da VMware difere na forma como a configuração de rede é fornecida. Informações adicionais são fornecidas na próxima seção. 

 Se uma configuração de rede explícita for desejada, ela deverá ser incorporada em `metadata` na forma de duas propriedades YAML ou JSON: 

** `network` **  
 Contém a configuração de rede codificada em formato JSON ou YAML. 

** `network.encoding` **  
 Contém a codificação dos dados de configuração de rede acima. As codificações `cloud-init` compatíveis são as mesmas dos dados de `guestinfo`: `base64` e `gzip+base64`. 

**Example Usar a ferramenta de CLI **govc** da VMware vSphere para enviar a configuração com `guestinfo`**  

1.  Prepare os arquivos de configuração `meta-data`, `user-data` e, opcionalmente, `network-config`, conforme descrito em [Configuração NoCloud (`seed.iso`) `cloud-init` para Amazon Linux 2023 em KVM e VMware](seed-iso.md). 

1.  Converta os arquivos de configuração em formatos utilizáveis por `guestinfo` da 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"
   ```