桐乡市住房建设局网站,苏州相城网站建设,wordpress my visitors,建筑建设网站导语
最近在学习 Azure 的命令行工具#xff0c;发现官方有不止一种命令行工具#xff0c;容易对新手产生混淆#xff0c;本文将介绍各种工具都是干啥的#xff0c;以及如何选择。
目前#xff0c;微软官方有3个Azure命令行工具#xff0c;分别是#xff1a;
Azure C…导语
最近在学习 Azure 的命令行工具发现官方有不止一种命令行工具容易对新手产生混淆本文将介绍各种工具都是干啥的以及如何选择。
目前微软官方有3个Azure命令行工具分别是
Azure CLIAzure PowerShell - Az ModuleAzure PowerShell - AzureRM
它们的历史和作用各有不同。
Azure CLI
Azure CLI 是一个跨平台的命令行程序可连接到 Azure 并对 Azure 资源执行管理命令。例如若要创建 VM可使用如下命令
az vm create \
--resource-group CrmTestingResourceGroup \
--name CrmUnitTests \
--image UbuntuLTS
...
可通过两种方式使用 Azure CLI通过 Azure Cloud Shell 在浏览器内使用或安装在本地 Linux、Mac 或 Windows 计算机上使用。通过这两种方式均可以交互方式或编写脚本的方式使用 Azure CLI。若要以交互方式使用请先在 Windows 上启动 cmd.exe 等 shell 或是在 Linux 或 macOS 上启动Bash然后在 shell 提示符处发出命令。若要自动执行重复性任务请使用所选 shell 脚本语法将命令配置到 shell 脚本中然后执行该脚本。
(以上内容摘自 Microsoft Learn 官方免费学习平台)
Azure PowerShell
Azure PowerShell 是可添加到 Windows PowerShell 或 PowerShell Core 的模块可用于连接 Azure 订阅并管理资源。Azure PowerShell 需通过 PowerShell 才能运行。PowerShell 提供 shell 窗口、命令解析等服务。Azure PowerShell 可添加特定于 Azure 的命令。
例如Azure PowerShell 提供了可在 Azure 订阅中创建虚拟机的 New-AzVM 命令。若要使用 Azure PowerShell请启动 PowerShell 应用程序然后发出如下命令
New-AzVm
-ResourceGroupName CrmTestingResourceGroup
-Name CrmUnitTests
-Image UbuntuLTS
...
同样可通过两种方式使用 Azure PowerShell通过 Azure Cloud Shell 在浏览器内使用或安装在本地 Linux、Mac 或 Windows 计算机上使用。对于这两种方式均有两种模式可供选择。可在交互模式下使用一次手动发出一个命令也可在脚本模式下使用执行包含多个命令的脚本。
(以上内容摘自 Microsoft Learn 官方免费学习平台)
然而Azure PowerShell 里其实有两种Az模块和AzureRM这是两套不同的命令行工具但功能非常重合。这一点在 Microsoft Learn 官网上并没有提到。
Az 模块
此新模块是采用 .NET Standard 从头开始编写的。 由于采用了 .NET StandardAzure PowerShell 可以在 Windows 上的 PowerShell 5.1 下运行也可以在任何平台上的 PowerShell Core 6.x 及更高版本下运行。Az 模块现在是通过 PowerShell 与 Azure 进行交互的首选方式。AzureRM 将继续进行 bug 修复但不会再收到新功能。
摘自微软官网文档 https://docs.microsoft.com/zh-CN/powershell/azure/overview?viewazps-2.5.0
AzureRM
这实际上就是多年前的 Windows Azure PowerShell我在2014年的博客文章里介绍过。但因为已经被微软官方遗弃所以新学习 Azure 的读者现在可以完全无视 AzureRM 这套 PowerShell 工具也不用去看使用这个工具的文章。
有关迁移到 Az 模块的文档和所有变更都可以在上面的微软官网文档里找到。
如何选择
现在我们的命令行选项其实只剩下了 Azure CLI 以及 Azure PowerShell (Az 模块)如何选择用哪个工具呢
依然摘录 Microsoft Learn 官方免费学习平台 里的说明
就可管理的 Azure 对象及可创建的配置而言门户、Azure CLI 和 Azure PowerShell 大致上是相同的。三者也都是跨平台的工具。这就意味着在选择时通常要考虑其他几个因素
自动化是否需要自动执行一系列复杂的或重复性任务Azure PowerShell 和 Azure CLI 支持自动化而门户则不支持。学习曲线是否需要在不学习新命令或语法的情况下快速完成任务使用 Azure 门户无需学习语法或记住命令。使用 Azure PowerShell 和 Azure CLI 时必须了解所使用的每个命令的详细语法。团队技能组团队是否拥有现成的专业知识例如团队可能使用过 PowerShell 来管理 Windows。若是如此团队成员可快速熟练使用 Azure PowerShell。
示例
回想一下你正在选择管理工具来为 CRM 应用程序创建测试环境。你的管理员需要执行两项特定的 Azure 任务
为每种测试单元、集成和验收创建一个资源组。在进行每轮测试前在每个资源组中创建多个 VM。
若要创建资源组可以选择 Azure 门户。这些是一次性任务无需使用脚本来执行。
确定创建 VM 的最佳工具则更具挑战。你需要创建数个 VM 并且需要重复创建可能每周要创建几次。这就意味着你需要自动化因此 Azure 门户并非一个好的选择。在这种情况下Azure PowerShell 或 Azure CLI 可满足你的需求。如果团队成员拥有现成的 PowerShell 知识那么 Azure PowerShell 可能就是最佳选择。Azure PowerShell 可在管理团队使用的各种操作系统上运行可支持自动化且团队很容易上手。
大多数管理员首次接触 Azure 时都是使用的门户。这是一个很好的起点因为门户提供了一个干净的、结构清晰的图形界面但限制了自动化选项。如果需要自动化Azure 提供了两个选项Azure PowerShell 适用于具有 PowerShell 经验的管理员Azure CLI 适用于其他所有人。
在实践中企业通常既有一次性任务也有重复性任务。这就意味着通常需要同时使用门户和脚本解决方案。在我们的 CRM 示例中通过门户创建资源组并使用 PowerShell 自动创建 VM这样做是合适的。