繁体   English   中英

Powershell天蓝色模块

[英]Powershell azure modules

这可能是一个新手问题,因为我就是这样,但我希望它不会打扰任何人,因为我无法找到正确的解释。

我试图让我的头脑周围的天蓝色,我一直在寻找使用PowerShell管理我的订阅。 事实是,我找到了两个模块(对我而言)Azure和AzureRM。

有谁知道这个区别?

谢谢,

Azure PowerShell Cmdlet最近经历了很多变化,所以是的,它可能有点令人困惑。 公平地说,他们确实做了很多相同的事情。

如您所见,如果从Web平台安装程序或PowerShell库安装Azure PowerShell 1.0.1,您会发现它们分为“服务管理”和“Azure资源管理器”模块。 如果您执行“Get-module -ListAvailable”,您将看到细分。 请注意,ServiceManagement文件夹下有Azure模块,然后AzureResourceManager文件夹下有许多模块,这些模块后缀为资源管理器的“RM”。

@theadriangreen在他的回答中指出的是正确的,Azure Resource Manager在尝试同时部署大量相关资源时拥有很多权力。 使用Azure资源管理器(ARM)模板,您可以一次部署整个环境,甚至可以销毁它。 真的,非常强大。 但是,他不正确的地方是ARM cmdlet也可用于处理特定服务上的azure资源。 Get-AzureRMVM cmdlet将检索VM列表或特定的VM,就像Azure Service Management模块中的Get-AzureVM一样。 ARM不仅仅关注大型粮食作业。

根据我的理解,这两者之间的真正区别在于Azure模块(服务管理)使用较旧的“服务管理平面”(Microsoft术语)。 它是用于管理Azure资源的旧API。 ARM使用较新的管理API,是管理Azure资源的新方法。 当前的断开连接,以及为什么需要这两者,并非所有Azure资源当前都在ARM中可用,并且并非旧服务管理平面上的所有新服务都可用。 这就是为什么您还会看到两个Azure门户,其中一些服务仅在其中一个中可用。 随着每个团队在转换方面取得进展,他们正在编写“资源提供者”,用于将其服务映射到ARM系统。 这不是微不足道的,他们正试图在他们同时改进服务的同时做到这一点。

请注意,AzureRM * cmdlet仅回退使用ARM创建的资源,而不是旧的“经典”资源。 反之亦然,Azure服务管理cmdlet仅显示使用它创建的内容(或通过旧门户或在“经典”模式下的新门户)。 现在这仍是一个令人遗憾的事实,而事情仍在向ARM过渡。

此外,现在使用1.0 cmdlet,您已弃用Switch-AzureMode cmdlet,您不再需要使用它。 它们可以同时使用较旧的Azure服务管理cmdlet和较新的ARM cmdlet。 他们还花费了大量时间将ARM cmdlet分解为更加独立的模块,以便可以独立部署它们,您只需要获取模块使用所需的内容。

我的建议是,除非您使用的服务仅存在于较旧的Azure服务管理cmdlet中,或者如果Azure中的资源在旧管理平面上创建,因此不能继续使用ARM模块。显示在任何ARM cmdlet中。 旧的管理层迟早会越来越有用,我猜想他们最终会退休(尽管这是我的推测,我没有直接从微软那里听到过,我希望能支持旧的管理层将存在很长一段时间)。

我觉得这里有一些误解。 让我们考虑一下这篇文章中概述的Azure powershell: https//azure.microsoft.com/en-us/documentation/articles/powershell-install-configure/

有两种操作模式,AKA“Azure模块”:AzureResourceManager和AzureServiceManagement。 您可以使用cmdlet Switch-AzureModehttps://msdn.microsoft.com/en-us/library/dn722470.aspx )在它们之间Switch-AzureMode

AzureResourceManager提供了更通用的操作方法,允许您一次处理所有Azure资源(请参阅https://msdn.microsoft.com/en-us/library/azure/mt125356.aspx )。 例如,考虑New-AzureResourceGroup cmdlet( https://msdn.microsoft.com/en-us/library/dn654594.aspx )。 它允许您使用可能包含网站,VM和数据库的模板设置部署,所有这些都在同一命令中。 此功能来自Azure资源模型。

现在,AzureServiceManagement模式将命令限制为特定的Azure服务提供程序(请参阅https://msdn.microsoft.com/en-us/library/azure/dn708504.aspx )。 即,Get-AzureVM专门处理VM服务,Get-AzureWebsite cmdlet专门处理网站服务。

我的理解是Azure模块主要通过REST API与Azure订阅进行交互。 您可以使用它来使用Azure的PAAS功能。

Azure Resource Manager模块专门用于Azure中的VM,例如:允许您设置所需状态配置。 如果从IAAS的角度使用Azure,这通常是您使用的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM