Utiliser cloud-init pour définir le nom d’hôte d’une machine virtuelle Linux dans Azure
S’applique à : ✔️ Machines virtuelles Linux ✔️ Groupes identiques flexibles
Cet article montre comment utiliser cloud-init pour configurer un nom d’hôte spécifique sur une machine virtuelle ou un groupe de machines virtuelles identiques au moment du provisionnement dans Azure. Ces scripts cloud-init s’exécutent au premier démarrage une fois que les ressources ont été approvisionnées par Azure. Pour plus d’informations sur le fonctionnement de cloud-init en mode natif dans Azure et sur les versions de Linux prises en charge, consultez Présentation de cloud-init
Définir le nom d’hôte avec cloud-init
Par défaut, le nom d’hôte est identique au nom de la machine virtuelle quand vous créez une machine virtuelle dans Azure. Pour exécuter un script cloud-init afin de changer ce nom d’hôte quand vous créez une machine virtuelle dans Azure avec az vm create, spécifiez le fichier cloud-init avec le commutateur --custom-data
.
Pour voir le processus de mise à niveau en action, créez dans l’interpréteur de commandes actif un fichier nommé cloud_init_hostname.txt et collez-y la configuration suivante. Pour cet exemple, créez le fichier dans Cloud Shell et non sur votre ordinateur local. Vous pouvez utiliser l’éditeur de votre choix. Vérifiez que l’intégralité du fichier cloud-init est copiée, en particulier la première ligne.
#cloud-config
fqdn: myhostname
Avant de déployer cette image, vous devez créer un groupe de ressources avec la commande az group create. Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement eastus.
az group create --name myResourceGroup --location eastus
Maintenant, créez une machine virtuelle avec az vm create et spécifiez le fichier cloud-init avec --custom-data cloud_init_hostname.txt
comme suit :
az vm create \
--resource-group myResourceGroup \
--name vmName \
--image imageCIURN \
--custom-data cloud_init_hostname.txt \
--generate-ssh-keys
Notes
Remplacez en conséquence les valeurs myResourceGroup, vmName et imageCIURN. Assurez-vous de choisir une image avec Cloud-init.
Une fois créée, Azure CLI affiche des informations sur la machine virtuelle. Utilisez publicIpAddress
pour établir une connexion SSH à votre machine virtuelle. Entrez votre propre adresse comme suit :
ssh <user>@<publicIpAddress>
Pour afficher le nom de la machine virtuelle, utilisez la commande hostname
comme suit :
sudo hostname
La machine virtuelle doit signaler le nom d’hôte comme la valeur définie dans le fichier cloud-init, comme indiqué dans l’exemple de sortie suivant :
myhostname
Étapes suivantes
Pour obtenir des exemples cloud-init supplémentaires de modifications de configuration, consultez les rubriques suivantes :
- Ajouter un utilisateur Linux supplémentaire à une machine virtuelle
- Exécuter un gestionnaire de package pour mettre à jour les packages existants au premier démarrage
- Use cloud-init to set hostname for a Linux VM in Azure (Utiliser cloud-init pour définir un nom d’hôte pour une machine virtuelle Linux dans Azure)
- Installer un package d’application, mettre à jour des fichiers de configuration et injecter des clés