Usar cloud-init para definir o nome do host para uma VM Linux no Azure
Aplica-se 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. 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 vmName \
--image imageCIURN \
--custom-data cloud_init_hostname.txt \
--generate-ssh-keys
Observação
Substitua adequadamente os valores myResourceGroup, vmName e imageCIURN. Certifique-se de que uma imagem com Cloud-init seja escolhida.
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 <user>@<publicIpAddress>
Para ver o nome da VM, use o comando hostname
da seguinte maneira:
sudo 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:
- Add an additional Linux user to a VM (Adicionar um usuário adicional do Linux a uma VM)
- Run a package manager to update existing packages on first boot (Executar um gerenciador de pacotes para atualizar os pacotes existentes na primeira inicialização)
- Change VM local hostname (Alterar o nome do host local da VM)
- Install an application package, update configuration files and inject keys (Instalar um pacote de aplicativo, atualizar os arquivos de configuração e injetar chaves)