在 Azure 中使用 cloud-init 设置 Linux VM 的主机名
适用于:✔️ Linux VM ✔️ 灵活规模集
本文演示如何在 Azure 中使用 cloud-init 在预配时间配置虚拟机 (VM) 或虚拟机规模集 (VMSS) 上特定的主机名。 Azure 预配资源后,这些 cloud-init 脚本即会在第一次启动时运行。 有关 cloud-init 如何在 Azure 以及受支持的 Linux 发行版中本机工作的详细信息,请参阅 cloud-init 概述
使用 cloud-init 设置主机名称
默认情况下,在 Azure 中创建新的虚拟机时,主机名和 VM 名称相同。 如果希望在 Azure 中使用 az vm create 创建 VM 时通过运行 cloud-init 脚本来更改默认主机名,请通过 --custom-data
开关指定 cloud-init 文件。
要查看操作中的升级进程,请在当前 shell 中创建一个名为“cloud_init_hostname.txt”的文件并粘贴下面的配置 。 对于此示例,请在本地计算机中创建文件。 可使用任何想要使用的编辑器。 请确保已正确复制整个 cloud-init 文件,尤其是第一行。
#cloud-config
fqdn: myhostname
在部署此映像之前,需要使用 az group create 命令创建资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。 以下示例在“chinaeast” 位置创建名为“myResourceGroup” 的资源组。
az group create --name myResourceGroup --location chinaeast
现在,使用 az vm create 创建 VM,并通过 --custom-data cloud_init_hostname.txt
指定 cloud-init 文件,如下所示:
az vm create \
--resource-group myResourceGroup \
--name vmName \
--image imageCIURN \
--custom-data cloud_init_hostname.txt \
--generate-ssh-keys
注意
相应地替换“myResourceGroup”、“vmName”和“imageCIURN”值。 确保选择了包含 Cloud-init 的映像。
创建后,Azure CLI 将显示有关 VM 的信息。 使用 publicIpAddress
通过 SSH 连接到 VM。 按如下所示输入自己的地址:
ssh <user>@<publicIpAddress>
若要查看 VM 名称,请使用 hostname
命令,如下所示:
sudo hostname
VM 应将主机名称报告为在 cloud-init 文件中设置的值,如以下示例输出中所示:
myhostname
后续步骤
有关配置更改的其他 cloud-init 示例,请参阅以下文章: