Usare cloud-init per impostare il nome host per una macchina virtuale Linux in Azure

Si applica a: ✔️ macchine virtuali di Linux ✔️ set di scalabilità flessibili

Questo articolo descrive come usare cloud-init per configurare un nome host specifico in una macchina virtuale o un set di scalabilità di macchine virtuali Linux in fase di provisioning in Azure. Questi script cloud-init vengono eseguiti al primo avvio dopo il provisioning delle risorse da parte di Azure. Per altre informazioni sul funzionamento di cloud-init in modo nativo in Azure e sulle distribuzioni Linux supportate, vedere la panoramica di cloud-init

Impostare il nome host con cloud-init

Per impostazione predefinita, il nome host corrisponde al nome della macchina virtuale quando si crea una nuova macchina virtuale in Azure. Per eseguire uno script cloud-init in modo da modificare il nome host predefinito durante la creazione di una macchina virtuale in Azure con az vm create, specificare il file cloud-init con l'opzione --custom-data.

Per osservare il processo di aggiornamento in azione, nella shell corrente creare un file denominato cloud_init_hostname.txt e incollare la configurazione seguente. Per questo esempio, creare il file in Cloud Shell anziché nel computer locale. È possibile usare qualsiasi editor. Assicurarsi che l'intero file cloud-init venga copiato correttamente, in particolare la prima riga.

#cloud-config
fqdn: myhostname

Prima di distribuire l'immagine, è necessario creare un gruppo di risorse con il comando az group create. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella località stati uniti orientali.

az group create --name myResourceGroup --location eastus

Creare ora una VM con az vm create e specificare il file cloud-init con --custom-data cloud_init_hostname.txt come segue:

az vm create \
  --resource-group myResourceGroup \
  --name vmName \
  --image imageCIURN \
  --custom-data cloud_init_hostname.txt \
  --generate-ssh-keys

Nota

Sostituire i valori myResourceGroup, vmNamee imageCIURN di conseguenza. Assicurarsi che sia selezionata un'immagine con Cloud-init.

Dopo la creazione della VM, l'interfaccia della riga di comando di Azure visualizza le relative informazioni. Usare publicIpAddress per stabilire una connessione SSH alla VM. Immettere il proprio indirizzo come di seguito:

ssh <user>@<publicIpAddress>

Per visualizzare il nome della VM, usare il comando hostname come segue:

sudo hostname

La VM segnalerà il nome host come il valore impostato nel file cloud-init, come illustrato nell'output di esempio seguente:

myhostname

Passaggi successivi

Per altri esempi cloud-init di modifiche di configurazione, vedere i documenti seguenti: