powershell - 使用 PowerShell 配置 Ubuntu DSVM 时创建计划时出错

标签 powershell azure-powershell azure-dsvm

我正在尝试使用 PowerShell 创建 Ubuntu DSVM。我已确定 Ubuntu DSVM 镜像是由发布者 microsoft-ads 发布的,报价中linux-data-science-vm-ubuntu和 SKU linuxdsvmubuntu 。我发现在 PowerShell 中指定虚拟机配置时,我需要使用 Set-AzureRmVMPlanSet-AzureRmVMSourceImage ,并尝试了以下方法:

$vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize Standard_D4s_v3
$vmConfig = Set-AzureRmVMPlan -VM $vmConfig -Name "linuxdsvmubuntu" -Product "linux-data-science-vm-ubuntu" -Publisher "microsoft-ads"
$vmConfig = Set-AzureRmVMOperatingSystem -VM $vmConfig -Linux -ComputerName $vmName -Credential $cred
$vmConfig = Set-AzureRmVMSourceImage -VM $vmConfig -PublisherName "microsoft-ads" -Offer "linux-data-science-vm-ubuntu" -Skus "linuxdsvmubuntu" -Version latest
$vmConfig = Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $nic.Id
New-AzureRmVM -ResourceGroupName $rgName -Location $location -VM $vmConfig

不幸的是,我从 New-AzureRmVM 收到一条错误消息命令:

New-AzureRmVM : This resource was created without a plan. A new plan cannot be associated with an update.
ErrorCode: CannotSetPlanOnUpdate
ErrorMessage: This resource was created without a plan. A new plan cannot be associated with an update.
StatusCode: 400
ReasonPhrase: Bad Request
OperationID : 648c62cd-4029-408e-8b6c-2ae4310001f6
At line:1 char:1
+ New-AzureRmVM -ResourceGroupName $rgName -Location $location -VM $vmC ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [New-AzureRmVM], ComputeCloudException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.NewAzureVMCommand

看来我可能没有使用Set-AzureRmVMPlan正确。任何人都清楚我做错了什么吗?

最佳答案

我发现问题不在于该命令本身,而显然是该命令的早期版本部署失败。

第一次尝试使用Set-AzureRmVMSourceImage时,我并不知道我还需要使用Set-AzureRmVMPlan。这导致部署失败,我认为这意味着部署的虚拟机将从我的资源组中删除(或者从一开始就不会添加到我的资源组中)。

实际发生的情况是,失败的部署在我的资源组中留下了状态为“失败”的虚拟机。当我后来运行上面显示的命令时,New-AzureRmVM 命令被视为更新步骤,而不是全新的 VM 创建。这就是为什么错误消息指示“此资源是在没有计划的情况下创建的。”

删除所有内容并重新开始,上述命令成功。

关于powershell - 使用 PowerShell 配置 Ubuntu DSVM 时创建计划时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50050972/

相关文章:

PowerShell $_ 语法

machine-learning - 由 caffe 驱动且支持 GPU 的 Microsoft Azure VM

azure - 如何在 Ubuntu 中将一个 IP 路由到另一个 IP?

sql-server - Azure导入数据SQL

powershell - 需要逗号将 SamAccountName 与组分开

powershell - Pip.exe已安装。如何使用?

powershell - Sitecore Powershell : Find users last login?

azure - 使用 Azure DevOps 自动部署 Azure SQL 数据库

powershell - 如何在现有 Vnet 中创建子网

Azure Powershell - 如何获取订阅所有者电子邮件?