Usar cloud-init para definir o nome do host para uma VM Linux no Azure

Aplicável a: ✔️ VMs do Linux ✔️ Conjuntos de dimensionamento flexíveis

Este artigo mostra como usar cloud-init para configurar um nome do host específico em uma VM (máquina virtual) ou em um VMSS (conjuntos de dimensionamento de máquinas virtuais) no momento do provisionamento no Azure. Esses scripts de cloud-init são executados na primeira inicialização depois que os recursos são provisionados pelo Azure. Para obter mais informações de como o cloud-init funciona nativamente no Azure e as distribuições do Linux compatíveis, consulte Visão geral de cloud-init

Defina o nome do host com a inicialização de nuvem

Por padrão, o nome do host é o mesmo que o nome da VM quando você cria uma nova máquina virtual no Azure. Para executar um script cloud-init para alterar esse nome do host padrão ao criar uma VM no Azure com az vm create, especifique o arquivo cloud-init com a opção --custom-data.

Para ver o processo de atualização em ação, crie um arquivo no shell atual denominado cloud_init_hostname.txt e cole a seguinte configuração. Para este exemplo, crie o arquivo no Cloud Shell, não no seu computador local. Você pode usar qualquer editor que queira. Insira sensible-editor cloud_init_hostname.txt para criar o arquivo e ver uma lista de editores disponíveis. Escolha #1 para usar o editor nano. Verifique se o arquivo cloud-init inteiro foi copiado corretamente, principalmente a primeira linha.

#cloud-config
fqdn: myhostname

Antes de implantar essa imagem, você precisa criar um grupo de recursos com o comando az group create. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. O exemplo a seguir cria um grupo de recursos chamado myResourceGroup no local eastus.

az group create --name myResourceGroup --location eastus

Agora, crie uma VM com az vm create e especifique o arquivo de inicialização de nuvem com --custom-data cloud_init_hostname.txt da seguinte maneira:

az vm create \
  --resource-group myResourceGroup \
  --name centos74 \
  --image OpenLogic:CentOS:7-CI:latest \
  --custom-data cloud_init_hostname.txt \
  --generate-ssh-keys 

Depois de criado, a CLI do Azure mostra informações sobre a VM. Use o publicIpAddress para conectar por SSH à VM. Insira seu próprio endereço da seguinte maneira:

ssh <publicIpAddress>

Para ver o nome da VM, use o comando hostname da seguinte maneira:

hostname

A VM deve relatar o nome de host como esse valor definido no arquivo de inicialização de nuvem, conforme mostrado no exemplo de saída a seguir:

myhostname

Próximas etapas

Para obter exemplos adicionais de alterações de configuração do cloud-init, consulte o seguinte: