Verwenden von cloud-init zum Festlegen eines Hostnamens für eine Linux-VM in Azure

Gilt für: ✔️ Linux-VMs ✔️ Flexible Skalierungsgruppen

In diesem Artikel wird gezeigt, wie Sie cloud-init zum Festlegen eines Hostnamens für einen virtuellen Computer (VM) oder eine VM-Skalierungsgruppe (VMSS) während der Bereitstellung in Azure verwenden. Diese cloud-init-Skripts werden beim erstmaligen Starten ausgeführt, nachdem die Ressourcen von Azure bereitgestellt wurden. Weitere Informationen zur nativen Funktionsweise von „cloud-init“ in Azure und zu den unterstützten Linux-Distributionen finden Sie in der Übersicht zu „cloud-init“.

Festlegen des Hostnamens mit cloud-init

Standardmäßig ist der Hostname mit dem VM-Namen identisch, wenn Sie einen neuen virtuellen Computer in Azure erstellen. Um mit az vm create beim Erstellen einer VM in Azure ein cloud-init-Skript zum Ändern des Standardhostnamens auszuführen, geben Sie die cloud-init-Datei mit dem Schalter --custom-data an.

Um den Upgradevorgang in Aktion zu sehen, erstellen Sie in Ihrer aktuellen Shell eine Datei mit dem Namen cloud_init_hostname.txt und fügen die unten angegebene Konfiguration ein. Erstellen Sie für dieses Beispiel die Datei in der Cloud Shell, nicht auf dem lokalen Computer. Dazu können Sie einen beliebigen Editor verwenden. Stellen Sie sicher, dass die gesamte cloud-init-Datei ordnungsgemäß kopiert wird, insbesondere die erste Zeile.

#cloud-config
fqdn: myhostname

Vor der Bereitstellung dieses Images müssen Sie mit dem Befehl az group create eine Ressourcengruppe erstellen. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden. Das folgende Beispiel erstellt eine Ressourcengruppe mit dem Namen myResourceGroup am Standort eastus.

az group create --name myResourceGroup --location eastus

Erstellen Sie nun mit dem Befehl az vm create eine VM, und geben Sie mit --custom-data cloud_init_hostname.txt die cloud-init-Datei an, wie im Folgenden gezeigt wird:

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

Hinweis

Ersetzen Sie die Werte myResourceGroup, vmName und imageCIURN entsprechend. Stellen Sie sicher, dass ein Image mit Cloud-init ausgewählt ist.

Nach der Erstellung zeigt die Azure CLI Informationen zur VM an. Verwenden Sie publicIpAddress, um eine SSH-Verbindung mit Ihrer VM herzustellen. Geben Sie Ihre eigene Adresse wie folgt ein:

ssh <user>@<publicIpAddress>

Um den Namen der VM anzuzeigen, verwenden Sie den Befehl hostname wie folgt:

sudo hostname

Die VM sollte den Hostnamen als den in der cloud-init-Datei festgelegten Wert melden, wie in der folgenden Beispielausgabe gezeigt wird:

myhostname

Nächste Schritte

Weitere cloud-init-Beispiele für Änderungen an der Konfiguration finden Sie in den folgenden Themen: