你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

创建和部署 VM 应用程序

VM 应用程序是 Azure 计算库中的资源类型,可简化虚拟机应用程序的管理、共享和全局分发。 详细了解 VM 应用程序

先决条件

  1. 创建 用于存储和共享应用程序资源的 Azure 计算库
  2. 将应用程序上传到 Azure 存储帐户中的容器。 应用程序可以存储在块 Blob 或页 Blob 中。 如果选择使用页 Blob,则需要在上传文件之前对该文件进行字节对齐。 使用以下示例对文件进行字节对齐。
$inputFile = <the file you want to pad>

$fileInfo = Get-Item -Path $inputFile

$remainder = $fileInfo.Length % 512

if ($remainder -ne 0){

    $difference = 512 - $remainder

    $bytesToPad = [System.Byte[]]::CreateInstance([System.Byte], $difference)

    Add-Content -Path $inputFile -Value $bytesToPad -Encoding Byte
    }

确保存储帐户具有公共级别访问权限或使用具有读取权限的 SAS URI,因为其他限制级别失败部署。 如果你没有 SAS URI,可以使用存储资源管理器快速创建一个。

如果使用的是 PowerShell,需要使用 3.11.0 版的 Az.Storage 模块。

若要了解有关安装机制的详细信息,请参阅命令解释器

创建 VM 应用程序

  1. 转到 Azure 门户,然后搜索并选择“Azure Compute Gallery”。
  2. 从列表中选择需要使用的库。
  3. 在库页面上,选择页面顶部的“添加”,然后从下拉列表中选择“VM 应用程序定义”。 此时会打开“创建 VM 应用程序定义”页。
  4. 在“基本信息”选项卡中输入应用程序的名称,然后选择该应用程序是用于运行 Linux 还是 Windows 的 VM。
  5. 如果要为 VM 应用程序定义指定以下任一可选设置,请选择“ 发布选项 ”选项卡:
    • VM 应用程序定义的说明。
    • 生命周期终结日期
    • 指向最终用户许可协议(EULA)的链接
    • 隐私声明的 URI
    • 发行说明的 URI
  6. 完成操作后,选择“查看 + 创建”。
  7. 验证完成后,选择“创建”以部署定义。
  8. 部署完成后,选择“转到资源”。
  9. 在应用程序页面上,选择“创建 VM 应用程序版本”。 此时会打开“创建 VM 应用程序版本”页。
  10. 输入版本号,例如 1.0.0。
  11. 选择上传应用程序包的区域。
  12. 在“源应用程序包”下,选择“浏览”。 选择存储帐户,然后选择包所在的容器。 从列表中选择包,完成后再选择选择。 或者,如果需要,可以将 SAS URI 粘贴到此字段中。
  13. 提供“安装脚本”。 还可以提供“卸载脚本”和“更新脚本”。 有关如何创建脚本的信息,请参阅概述
  14. 如果已将默认配置文件上传到存储帐户,可以在“默认配置”中选择它。
  15. 如果在创建 VM 时不希望该版本显示为最新版本,请选择“从最新版本中排除”。
  16. 对于“生命周期结束日期”,选择一个将来的日期来跟踪该版本应该何时停用。 它不会自动删除或移除,仅用于你自己的跟踪。
  17. 若要将此版本复制到其他区域,请选择“ 复制 ”选项卡,添加更多区域,并更改每个区域的副本数。 创建版本的原始区域必须在列表中,并且不能删除。
  18. 完成更改后,在页面底部选择“审阅并创建”。
  19. 当验证结果显示为通过时,选择“创建”来部署你的 VM 应用程序版本。

部署 VM 应用

现在,可以使用门户创建一个 VM 并将 VM 应用程序部署到其中。 只需像往常一样创建 VM,然后在“高级”选项卡下,选择“选择要安装的 VM 应用程序” 。

可在其中选择安装 VM 应用程序的“高级”选项卡的屏幕截图。

从列表中选择 VM 应用程序,然后选择页面底部的 “保存 ”。

显示选择要在 VM 上安装的 VM 应用程序的屏幕截图。

如果要安装多个 VM 应用程序,可以返回“高级”选项卡并设置每个 VM 应用程序的安装顺序

还可以将 VM 应用程序部署到当前正在运行的 VM。 在门户中查看 VM 详细信息时,在左侧菜单中的“设置”下选择“扩展 + 应用程序”选项。

选择“VM 应用程序”,然后选择“添加应用程序”以添加 VM 应用程序。

此屏幕截图显示了如何选择要在当前运行的 VM 上安装的 VM 应用程序。

从列表中选择 VM 应用程序,然后选择页面底部的 “保存 ”。

显示选择要在 VM 上安装的 VM 应用程序的屏幕截图。

监视已部署的 VM 应用程序

若要显示 VM 应用程序状态,请转到“扩展 + 应用程序”选项卡/设置,然后查看 VMAppExtension 的状态:

显示 VM 应用程序状态的屏幕截图。

若要显示虚拟机规模集的 VM 应用程序状态,请转到 Azure 门户的虚拟机规模集页面,然后进入实例部分,选择列出的一个规模集,再转到 VMAppExtension

显示虚拟机规模集应用程序状态的屏幕截图。

删除 VM 应用程序

若要删除 VM 应用程序资源,首先需要删除其所有版本。 删除应用程序版本会导致从 Azure 计算库及其所有副本中删除应用程序版本资源。 用于创建应用程序版本的存储帐户中的应用程序 Blob 不受影响。 删除应用程序版本后,如果任何 VM 都使用该版本,则对这些 VM 执行重新映像作将失败。 使用“latest”关键字作为“applicationProfile”中的版本号,而不是硬编码版本号来解决此故障。
但是,如果删除了应用程序,则 VM 在重置映像作期间会失败,因为 Azure 没有可用的版本可供安装。 需要更新 VM 配置文件才能不使用 VM 应用程序。

删除 VM 应用程序版本:

Remove-AzGalleryApplicationVersion -ResourceGroupName $rgNmae -GalleryName $galleryName -GalleryApplicationName $galleryApplicationName -Name $name

删除 VM 应用程序的所有版本后,删除该应用程序。

Remove-AzGalleryApplication -ResourceGroupName $rgNmae -GalleryName $galleryName -Name $name