自定义映像类似于应用商店映像,不同的是自定义映像的创建者是你自己。 自定义映像可用于启动配置,例如预加载应用程序、应用程序配置和其他 OS 配置。 在本教程中,你将创建自己的 Azure 虚拟机自定义映像。 你将学习如何执行以下操作:
- 取消预配和通用化 VM
- 创建自定义映像
- 从自定义映像创建 VM
- 列出订阅中的所有映像
- 删除映像
Note
在 Azure 中国区使用 Azure CLI 2.0 之前,请先运行 az cloud set -n AzureChinaCloud
来改变云环境。如果想切回国际版 Azure,请再次运行 az cloud set -n AzureCloud
。
如果选择在本地安装并使用 CLI,本教程要求运行 Azure CLI 2.0.4 或更高版本。 运行 az --version
即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI 2.0。
开始之前
下列步骤详细说明了如何将现有 VM 转换为可重用自定义映像,用于创建新的 VM 实例。
若要完成本教程中的示例,必须现有一个虚拟机。 如果需要,此脚本示例可为你创建一个虚拟机。 按照教程进行操作时,请根据需要替换资源组和 VM 名称。
创建自定义映像
若要创建虚拟机的映像,需通过以下方式准备 VM:取消源 VM 的预配,解除其分配,然后将其标记为通用化。 准备好 VM 后,可以创建映像。
取消预配 VM
取消预配可通过删除特定于计算机的信息来通用化 VM。 实现此通用化后,即可从单个映像部署多个 VM。 在取消预配期间,主机名将重置为“localhost.localdomain”。 还会删除 SSH 主机密钥、名称服务器配置、根密码和缓存的 DHCP 租约。
若要取消预配 VM,请使用 Azure VM 代理 (waagent)。 Azure VM 代理安装在 VM 上,用于管理预配及其与 Azure 结构控制器的交互。 有关详细信息,请参阅 Azure Linux 代理用户指南。
使用 SSH 连接到 VM 并运行命令以取消预配 VM。 使用 +user
参数还会删除上次预配的用户帐户以及任何关联的数据。 将示例 IP 地址替换为 VM 的公共 IP 地址。
通过 SSH 连接到 VM。
ssh azureuser@52.174.34.95
取消预配 VM。
sudo waagent -deprovision+user -force
关闭 SSH 会话。
exit
解除分配 VM 并将其标记为通用化
若要创建映像,需要解除分配 VM。 使用 az vm deallocate 解除分配 VM。
az vm deallocate --resource-group myResourceGroup --name myVM
最后,使用 az vm generalize 将 VM 的状态设置为“通用化”,以便 Azure 平台知道 VM 已通用化。 只能从通用化 VM 创建映像。
az vm generalize --resource-group myResourceGroup --name myVM
创建映像
现在,可使用 az image create 创建 VM 的映像。 以下示例从名为 myVM 的 VM 创建名为 myImage 的映像。
az image create \
--resource-group myResourceGroup \
--name myImage \
--source myVM
从映像创建 VM
现在,你已有了一个映像,可以使用 az vm create 从该映像创建一个或多个新 VM。 以下示例从名为 myImage 的映像创建名为 myVMfromImage 的 VM。
az vm create \
--resource-group myResourceGroup \
--name myVMfromImage \
--image myImage \
--admin-username azureuser \
--generate-ssh-keys
映像管理
下面是一些常见映像管理任务的示例,说明了如何使用 Azure CLI 完成这些任务。
以表格格式按名称列出所有映像。
az image list \
--resource-group myResourceGroup
删除映像。 此示例将从 myResourceGroup 中删除名为 myOldImage 的映像。
az image delete \
--name myOldImage \
--resource-group myResourceGroup
后续步骤
在本教程中,你已创建了一个自定义 VM 映像。 你已了解如何:
- 取消预配和通用化 VM
- 创建自定义映像
- 从自定义映像创建 VM
- 列出订阅中的所有映像
- 删除映像
请转到下一教程,了解高度可用的虚拟机。
立即访问http://market.azure.cn