请帮助我提供一些用于创建 Linux(Redhat 版本)VM 的参考 ARM PowerShell Cmdlet
谢谢
请帮助我提供一些用于创建 Linux(Redhat 版本)VM 的参考 ARM PowerShell Cmdlet
谢谢
稍微修改New-AzureRmVM 文档中的示例,下面的 PowerShell 脚本应该可以完成这项工作(根据需要修改参数) - 它将预配一个 RHEL 7.2 VM。在运行之前检查与您自己的资源的名称冲突。
请记住,您不能在启用了货币上限的订阅(例如免费、试用、仅具有货币信用的订阅等)上提供即用即付红帽企业 Linux VM,因为这是第三方收费除了基本计算价格。阅读此处了解更多详情。
为了快速创建,建议使用 Azure CLI。这将在 Windows、Mac、Linux 上运行。它很简单:
azure config mode arm
azure group create TestCLIRG EastUS
azure vm quick-create TestCLIRG vm1 EastUS Linux RedHat:RHEL:7.2:latest azureuser
或使用模板,例如这个。
如果确实需要在 ARM PowerShell 中快速创建,请在Azure PowerShell GitHub 上提交问题。
PowerShell 脚本涉及更多,因为它几乎控制了 VM 创建的各个方面:
## Global
$ResourceGroupName = "Group1"
$Location = "EastAsia"
## Storage
$StorageName = "storageaccname001"
$StorageType = "Standard_GRS"
## Network
$InterfaceName = "ServerInterface06"
$Subnet1Name = "Subnet1"
$VNetName = "VNet09"
$VNetAddressPrefix = "10.0.0.0/16"
$VNetSubnetAddressPrefix = "10.0.0.0/24"
## Compute
$VMName = "rhel-vm"
$VMSize = "Standard_D2"
$OSDiskName = $VMName + "OSDisk"
# Resource Group
New-AzureRmResourceGroup -Name $ResourceGroupName -Location $Location
# Storage
$StorageAccount = New-AzureRmStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageName -Type $StorageType -Location $Location
# Network
$PIp = New-AzureRmPublicIpAddress -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -AllocationMethod Dynamic
$SubnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name $Subnet1Name -AddressPrefix $VNetSubnetAddressPrefix
$VNet = New-AzureRmVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName -Location $Location -AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig
$Interface = New-AzureRmNetworkInterface -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PIp.Id
# Compute
## Setup local VM object
$Credential = Get-Credential
$VirtualMachine = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -ComputerName $VMName -Linux -Credential $Credential
$VirtualMachine = Set-AzureRmVMSourceImage -VM $VirtualMachine -PublisherName "RedHat" -Offer "RHEL" -Skus "7.2" -Version "latest"
$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $Interface.Id
$OSDiskUri = $StorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $OSDiskName + ".vhd"
$VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -CreateOption FromImage
## Create the VM in Azure
New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VirtualMachine
你有一个完整的过程来使用 Azure CLI(它是一个用于 Azure 的 x-plat 命令行工具)。例如使用 azure vm quick-create 命令: quick-create 命令部署一个带有基本基础架构的虚拟机,您可以使用它非常快速地原型化或测试一个概念(您可以将其视为 Linux bash 的最快方式壳)。https://azure.microsoft.com/en-gb/documentation/articles/virtual-machines-linux-quick-create-cli/
您还可以使用 Azure CLI 从头开始创建 Linux VM:https ://azure.microsoft.com/en-gb/documentation/articles/virtual-machines-linux-create-cli-complete/
关于操作系统:您可以浏览市场以找到合适的操作系统(在您的情况下为 redhat)https://azure.microsoft.com/en-gb/documentation/articles/virtual-machines-linux-cli-ps-findimage/ .
如果您使用这个https://azure.microsoft.com/en-us/marketplace/partners/redhat/redhatenterpriselinux67/,您将按上述方式收费:“使用此现收现付图像带有单独的Microsoft 的 Linux VM 费率之外的每小时收费”。
但是,除了使用市场映像之外,您还可以上传和使用您自己的操作系统映像进行配置过程。
您可以使用 ARM 模板并使用 Powershell 部署该模板。您可以从这个简单的 linux 模板开始并根据您的需要对其进行自定义https://github.com/Azure/azure-quickstart-templates/tree/master/101-vm-simple-linux。
然后使用 Powershell 部署它
New-AzureRmResourceGroupDeployment -Name ExampleDeployment -DeploymentDebugLogLevel All -ResourceGroupName ExampleResourceGroup -TemplateFile <PathOrLinkToTemplate>
请按照此处提到的完整步骤操作:https ://azure.microsoft.com/en-us/documentation/articles/resource-group-template-deploy/#deploy-with-powershell