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

已完成

假设你需要选择一种工具来管理将用于测试客户关系管理 (CRM) 系统的 Azure 资源。 测试要求创建资源组和配置虚拟机 (VM)。

你需要一种易于管理人员学习的管理工具,但同时它还要具有强大的功能,可以自动安装和设置多台虚拟机或编写完整的应用程序环境脚本。 有多种工具可供选择,而你需要根据员工情况和任务找出最合适的工具。

有哪些工具可用?

Azure 提供了三种管理工具:

  • Azure 门户
  • Azure CLI
  • Azure PowerShell

这些工具可提供大致相同的控制能力;使用其中一种工具所能完成的任何任务,都可以使用另外两种完成。 三者均为跨平台工具,可在 Windows、macOS 和 Linux 上运行。 其不同之处在于语法、设置要求以及自动化支持。

现在,我们会逐一介绍这三个选项,并指导如何进行选择。

什么是 Azure 门户?

Azure 门户是一个网站,可在其中创建、配置和更改 Azure 订阅中的资源。 该门户是一个图形用户界面 (GUI),可从中轻松找到所需资源并执行任何所需更改。 其中还提供了向导和工具提示,可对完成复杂管理任务进行指导。

门户不提供任何自动执行重复性任务的方法。 例如,要设置 15 台 VM,你需要完成每台 VM 的向导来逐个进行创建。 对于复杂任务来说,此方法相当耗时且容易出错。

什么是 Azure CLI?

Azure CLI 是一个跨平台的命令行程序,可连接到 Azure 并对 Azure 资源执行管理命令。 例如,若要创建 VM,可以使用以下命令:

az vm create \
  --resource-group CrmTestingResourceGroup \
  --name CrmUnitTests \
  --image Ubuntu2204
  ...

可通过两种方式使用 Azure CLI:通过 Azure Cloud Shell 在浏览器内使用,或通过 Linux、Mac 或 Windows 计算机上进行本地安装来使用。 在这两种情况下,你可以通过交互方式使用它,或者将其与脚本配合使用来自动执行任务。 要以交互方式使用,请先启动 shell(例如 Windows 上的 cmd.exe 或 Linux 或 macOS 上的 Bash),然后在 shell 提示符处发出命令。 若要自动执行重复性任务,请使用所选 shell 脚本语法将命令配置到 shell 脚本中,然后执行该脚本。

什么是 Azure PowerShell?

Azure PowerShell 是可添加到 PowerShell 的模块,可用于连接 Azure 订阅和管理资源。 Azure PowerShell 需通过 PowerShell 才能运行。 PowerShell 提供 shell 窗口、命令解析等服务。 Azure Az PowerShell 模块添加了特定于 Azure 的命令。

例如,Azure PowerShell 提供了可在 Azure 订阅中创建虚拟机的 New-AzVM 命令。 如果要使用它,请启动 PowerShell 应用程序,然后发出以下命令:

New-AzVm `
    -ResourceGroupName "CrmTestingResourceGroup" `
    -Name "CrmUnitTests" `
    -Image "UbuntuLTS"
    ...

同样可通过两种方式使用 Azure PowerShell:通过 Azure Cloud Shell 在浏览器内使用或通过在 Linux、Mac 或 Windows 计算机上进行本地安装来使用。 对于这两种方式,均有两种模式可供选择。 可在交互模式下使用它,在此模式下,你将一次手动发出一个命令;也可在脚本模式下通过执行包含多个命令的脚本来使用它。

如何选择管理工具

就可管理的 Azure 对象及可创建的配置而言,门户、Azure CLI 和 Azure PowerShell 大致上是相同的。 三者也都是跨平台的工具。 通常,你在做出选择时将考虑其他几个因素:

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

  • 学习曲线:是否需要在不学习新命令或语法的情况下快速完成任务? 使用 Azure 门户,无需学习语法或记住命令。 使用 Azure PowerShell 和 Azure CLI 时,必须了解所使用的每个命令的详细语法。

  • 团队技能组:团队是否拥有现成的专业知识? 例如,团队可能使用了 PowerShell 来管理 Windows。 若是如此,他们可快速熟练使用 Azure PowerShell。

示例

回想一下,你正在选择管理工具来为 CRM 应用程序创建测试环境。 你的管理员需要完成两项特定的 Azure 任务:

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

若要创建资源组,可以选择 Azure 门户。 这些任务是一次性任务,无需使用脚本来完成。

确定创建 VM 的最佳工具则更具挑战。 你需要创建数个 VM 并且需要重复创建,可能每周要创建几次。 对于这些任务,你将需要自动化,因此 Azure 门户并非一个好的选择。 在这种情况下,Azure PowerShell 或 Azure CLI 可满足你的需求。 如果团队成员已经掌握 PowerShell 知识,则 Azure PowerShell 可能是最佳选择。 Azure PowerShell 可在管理团队使用的各种操作系统上运行,可支持自动化,且团队很容易上手。

大多数管理员对 Azure 的第一次体验是在 Azure 门户中。 这是一个很好的起点,因为门户提供了一个干净的、结构清晰的图形界面,但仅提供了有限的自动化选项。 如果需要自动化,Azure 提供了两个选项:Azure PowerShell 适用于具有 PowerShell 经验的管理员;Azure CLI 适用于其他所有人。

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

本模块的其余部分主要介绍如何安装和使用 Azure PowerShell。