Uso de cloud-init para establecer el nombre de host para una máquina virtual Linux en Azure
Se aplica a: ✔️ máquinas virtuales Linux ✔️ conjuntos de escalado flexibles
En este artículo se muestra el uso de cloud-init para configurar un nombre de host específico en una máquina virtual o en conjuntos de escalado de máquinas virtuales en el momento del aprovisionamiento en Azure. Estos scripts de cloud-init se ejecutan durante el primer arranque una vez que Azure ha aprovisionado los recursos. Para obtener más información acerca del funcionamiento nativo de cloud-init en Azure y las distribuciones de Linux compatibles, consulte la introducción a cloud-init.
Establecimiento del nombre de host con cloud-init
De forma predeterminada, el nombre de host es el mismo que el de la máquina virtual al crear una en Azure. Para ejecutar un script cloud-init para cambiar el nombre de host predeterminado al crear una máquina virtual en Azure con az vm create, especifique el archivo cloud-init con el modificador --custom-data
.
Para ver la actualización en proceso, cree un archivo en el shell actual denominado cloud_init_hostname.txt y pegue la configuración siguiente. Para este ejemplo, cree el archivo en Cloud Shell, no en la máquina local. Puede utilizar el editor que prefiera. Asegúrese de que todo el archivo cloud-init se copia correctamente, especialmente la primera línea.
#cloud-config
fqdn: myhostname
Antes de implementar esta imagen, debe crear un grupo de recursos con el comando az group create. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure. En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus.
az group create --name myResourceGroup --location eastus
Ahora, cree una máquina virtual con az vm create y especifique el archivo cloud-init con --custom-data cloud_init_hostname.txt
como se indica a continuación:
az vm create \
--resource-group myResourceGroup \
--name vmName \
--image imageCIURN \
--custom-data cloud_init_hostname.txt \
--generate-ssh-keys
Nota
Reemplace los valores myResourceGroup, vmName e imageCIURN según corresponda. Asegúrese de que se elige una imagen con Cloud-init.
Una vez que la crea, la CLI de Azure muestra información sobre la máquina virtual. Use publicIpAddress
para usar un cliente SSH a la máquina virtual. Escriba su propia dirección, como se indica a continuación:
ssh <user>@<publicIpAddress>
Para ver el nombre de la máquina virtual, use el comando hostname
de la siguiente manera:
sudo hostname
La máquina virtual debe informar el nombre de host como el valor establecido en el archivo cloud-init, como se muestra en la salida de ejemplo siguiente:
myhostname
Pasos siguientes
Para ejemplos de cloud-init de cambios de configuración adicionales, vea lo siguiente:
- Incorporación de otro usuario de Linux a una máquina virtual
- Ejecución de un administrador de paquetes para actualizar los existentes durante el primer arranque
- Cambio del nombre de host de la máquina virtual local
- Instalación de un paquete de aplicación, actualización de los archivos de configuración e inserción de claves