确定 Azure PowerShell 是否是适合你的任务的工具

已完成

假设你必须选择一种工具来部署和管理客户关系管理 (CRM) 系统的 Azure 资源。 为了进行测试,你需要为每个测试迭代创建资源组和虚拟机 (VM)。

你正在寻求一种易于管理员学习的工具,但其功能却足够强大,可以自动安装和配置多个虚拟机。 有了多种可用的工具,你的目标是找到最适合管理员的工具,以便高效地编写整个云基础结构的部署脚本。

有哪些工具可用?

Azure 提供三个管理工具:

  • Azure 门户
  • Azure PowerShell
  • Azure CLI

这些工具提供相同的部署和配置功能,允许你使用其中任何一种执行任何任务。 所有这些工具均可在 Windows、Linux 和 macOS 上使用。 但是,它们在语法、设置要求和自动化支持方面有所不同。

本单元的其余部分将介绍每个工具,并提供有关如何根据需要选择最佳工具的指导。

Azure 门户

Azure 门户是一个基于 Web 的界面,可用于创建、配置和管理 Azure 订阅中的资源。 作为一个图形用户界面 (GUI),它提供用户友好的方式来查找和管理资源,并通过向导和工具提示来帮助你完成复杂的管理任务。

但是,Azure 门户缺乏重复任务的自动化功能。 例如,如果你需要设置 15 个 VM,则必须单独创建每个 VM,并为每个 VM 完成向导操作。 对于更复杂的任务而言,此方法可能非常耗时,而且容易出错。

Azure PowerShell

Azure PowerShell 是提供用于管理 Azure 资源的 PowerShell cmdlet 的模块集合。 它需要 PowerShell、命令行 shell 和脚本语言。

例如,Azure PowerShell 提供 New-AzVM cmdlet 用于在 Azure 订阅中创建虚拟机。 若要使用它,请启动 PowerShell 并执行以下命令:

$azVmParams = @{
    ResourceGroupName = 'CrmTestingResourceGroup'
    Name              = 'CrmUnitTestVm'
    Image             = 'Ubuntu2204'
}
New-AzVm @azVmParams

可通过两种方式使用 Azure PowerShell:通过 Azure Cloud Shell 在浏览器中使用,或通过 Windows、Linux 或 macOS 上的本地安装使用。 可以交互方式使用 PowerShell,从 PowerShell 运行 Azure PowerShell 命令,也可以创建并执行由多个命令组成的脚本。

Azure CLI

Azure CLI 是一个跨平台命令行工具,可用于管理 Azure 资源。 例如,可以使用以下命令创建虚拟机(此示例使用 Bash 续行字符):

az vm create \
    --resource-group CrmTestingResourceGroup \
    --name CrmUnitTestVm \
    --image Ubuntu2204

也可通过两种方式使用 Azure CLI:通过 Azure Cloud Shell 在浏览器中使用,或通过 Windows、Linux 或 macOS 上的本地安装使用。 可以通过启动 shell(例如 Bash、PowerShell 或 cmd.exe)并在提示符下输入命令来以交互方式使用它。 或者,可以使用所选 shell 的语法将命令组合成 shell 脚本来自动执行重复任务。

如何选择管理工具

除少数例外情况,在 Azure 门户中执行的任何任务也可以使用 Azure PowerShell 或 Azure CLI 来完成。 在选择最适合需求的工具时,需要考虑以下一些因素:

  • 自动化:是否需要自动执行复杂的或重复性任务? Azure PowerShell 和 Azure CLI 支持自动化,而 Azure 门户则不支持。

  • 学习曲线:是否需要在不学习新命令或语法的情况下快速完成任务? Azure 门户对用户友好,不要求用户学习命令或语法。 相比之下,Azure PowerShell 和 Azure CLI 要求了解命令 shell 语法和每个命令的具体要求。

  • 团队技能组:团队是否拥有现成的专业知识? 例如,如果你的团队已在使用 PowerShell 来管理其他产品(例如 Windows、Exchange Server 或 Microsoft 365),他们可能会发现 Azure PowerShell 是更便捷、更高效的选择。

示例

让我们回顾一下选择管理工具来部署和测试 CRM 应用程序的方案。 你的管理员需要完成两项特定的 Azure 任务:

  1. 为每种测试(单元、集成和验收)创建一个资源组。
  2. 在进行每轮测试前,在每个资源组中创建多个 VM。

Azure 门户是用于创建资源组的合理选择。 由于这些任务是一次性的,因此无需通过脚本创建它们。

大多数管理员第一次都是通过 Azure 门户来体验 Azure。 该门户提供了一个组织有序的图形界面来管理 Azure 资源,因此它成了一个极好的起点。 但是,该门户不支持自动化,而自动化对于每周多次创建多个 VM 等重复性任务至关重要。

对于 Azure 中的自动化,你有两个选择:

  • Azure PowerShell
  • Azure CLI

这两个工具都可以满足你的需求,但如果你的团队已经具备 PowerShell 知识,则 Azure PowerShell 可能是最佳选择。

在实践中,企业通常混合执行一次性和重复性任务,因此往往同时使用 Azure 门户和脚本解决方案。 在 CRM 示例中,使用 Azure 门户创建资源组并使用 Azure PowerShell 自动创建 VM 是一种合理方法。

本模块的其余部分假设 Azure PowerShell 是你选择的自动化工具。