使用 cloud-init 為 Azure 上的 Linux 虛擬機器設定主機名稱
適用於:✔️ Linux VM ✔️ 彈性擴展集
本文會示範如何在 Azure 佈建期間,使用 cloud-init 在虛擬機器 (VM) 上或虛擬機器擴展集 (VMSS) 上設定特定的主機名稱。 一旦 Azure 佈建資源,這些 cloud-init 指令碼就會在初次開機時執行。 如需深入了解 cloud-init 如何以原生方式在 Azure 和支援的 Linux 散發版本中運作,請參閱 cloud-init 概觀
使用 cloud-init 設定主機名稱
依預設,當您在 Azure 中建立新的虛擬機器時,主機名稱會和虛擬機器名稱相同。 若要在您使用 az vm create 於 Azure 中建立虛擬機器時,執行 cloud-init 指令碼來變更此預設主機名稱,請使用 --custom-data
參數來指定 cloud-init 檔案。
若要查看作用中的升級程序,請在目前的殼層中建立名為 cloud_init_hostname.txt 的檔案,然後貼上下列設定。 針對此案例,在 Cloud Shell 中 (而不是本機電腦上) 建立該檔案。 您可以使用任何您想要的編輯器。 請確定已正確複製整個 cloud-init 檔案,特別是第一行。
#cloud-config
fqdn: myhostname
部署此映像前,您必須使用 az group create 命令建立資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 下列範例會在 eastus 位置建立名為 myResourceGroup 的資源群組。
az group create --name myResourceGroup --location eastus
現在,請使用 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 範例,請參閱下列文件: