Cvičení – interaktivní vytvoření prostředku Azure pomocí Azure PowerShellu
V původním scénáři musíte vytvořit virtuální počítače k otestování softwaru správy vztahů se zákazníky (CRM). Pokud je k dispozici nový build, chcete aktivovat nový virtuální počítač, který otestuje celé prostředí instalace z čisté image. Po dokončení testování můžete virtuální počítač odstranit.
Pojďme vyzkoušet příkazy k vytvoření virtuálního počítače.
Poznámka:
Toto cvičení je volitelné. Pokud chcete absolvovat toto cvičení, budete muset před zahájením vytvořit předplatné Azure. Pokud nemáte účet Azure nebo ho v tuto chvíli nechcete vytvořit, můžete si přečíst pokyny, abyste porozuměli zobrazeným informacím.
Poznámka:
K tomu, abyste mohli dokončit kroky v tomto cvičení, musíte použít skupinu zdrojů. Můžete použít skupinu prostředků, kterou jste už vytvořili, nebo můžete vytvořit novou skupinu prostředků speciálně pro toto cvičení. Pokud se rozhodnete vytvořit novou skupinu prostředků, usnadní vám vyčištění všech prostředků, které vytvoříte během dokončování úkolu. Pokud nemáte existující skupinu prostředků nebo chcete vytvořit novou konkrétně pro toto cvičení, můžete postupovat podle kroků v tématu Použití webu Azure Portal a Azure Resource Manageru ke správě skupin prostředků k vytvoření skupiny prostředků pomocí webu Azure Portal nebo můžete postupovat podle kroků v tématu Správa skupin prostředků Azure pomocí Azure CLI a vytvořit skupinu prostředků pomocí Azure CLI.
Vytvoření virtuálního počítače s Linuxem pomocí Azure PoweShellu
Tady je postup vytvoření nového virtuálního počítače Azure pomocí Azure PowerShellu:
Pomocí rutiny
New-AzVMvytvořte virtuální počítač.- Zadejte skupinu prostředků pro virtuální počítač.
- Pojmenujte virtuální počítač podle standardů pojmenování vaší organizace.
- V seznamu dostupných oblastí Azure vyberte umístění blízko vás.
- Použijte image Ubuntu Linux:
Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest. - Pomocí rutiny
Get-Credentialnastavte přihlašovací údaje správce virtuálního počítače. - Přidejte parametr OpenPorts s portem
22pro přístup přes SSH. - Vytvořte název veřejné IP adresy pro přihlášení SSH.
$azVmParams = @{ ResourceGroupName = 'myResourceGroupName' Name = 'testvm-eus-01' Credential = (Get-Credential) Location = 'eastus' Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest' OpenPorts = 22 PublicIpAddressName = 'testvm-eus-01' } New-AzVm @azVmParamsNahraďte myResourceGroupName v předchozím příkladu názvem existující skupiny prostředků nebo názvem skupiny prostředků, kterou jste vytvořili pro toto cvičení.
Návod
Příkazy můžete zkopírovat do schránky pomocí tlačítka Kopírovat . Pokud chcete vložit, klikněte pravým tlačítkem myši na nový řádek v terminálu Cloud Shellu a vyberte Vložit nebo použijte klávesovou zkratku Shift+Insert (⌘+V v macOS).
Zadejte přihlašovací údaje:
Po zobrazení výzvy zadejte uživatelské jméno a heslo podle pokynů: hesla musí mít délku 12 až 123 znaků a splňují tři z následujících čtyř požadavků na složitost: malá písmena, velká písmena, číslice a speciální znaky (regulární výraz odpovídá [\W_]). Další informace najdete v nejčastějších dotazech k virtuálním počítačům s Linuxem.
Počkejte na vytvoření virtuálního počítače:
Proces vytváření virtuálního počítače trvá několik minut.
Dotaz na virtuální počítač:
Po dokončení zadejte dotaz na virtuální počítač a přiřaďte objekt virtuálního počítače proměnné (
$vm).$vm = Get-AzVM -Name testvm-eus-01 -ResourceGroupName myResourceGroupNameZobrazení informací o virtuálním počítači:
Pokud chcete zobrazit informace o virtuálním počítači, zobrazte obsah proměnné.
$vmPříklad výstupu:
ResourceGroupName : myResourceGroupName Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/testvm-eus-01 VmId : 00000000-0000-0000-0000-000000000000 Name : testvm-eus-01 Type : Microsoft.Compute/virtualMachines Location : eastus Tags : {} HardwareProfile : {VmSize} NetworkProfile : {NetworkInterfaces} OSProfile : {ComputerName, AdminUsername, LinuxConfiguration, Secrets} ProvisioningState : Succeeded StorageProfile : {ImageReference, OsDisk, DataDisks} ...Kontrola vlastností virtuálního počítače:
Komplexní objekty můžete zkontrolovat pomocí operátoru přístupu člena (
.). Pokud například chcete zobrazit vlastnosti v objektuVMSizepřidruženém k části HardwareProfile , spusťte následující příkaz:$vm.HardwareProfilePokud chcete získat informace o jednom z disků, spusťte následující příkaz:
$vm.StorageProfile.OsDiskZískejte dostupné velikosti virtuálních počítačů:
Předejte objekt virtuálního počítače do jiných rutin, abyste získali dostupné velikosti:
$vm | Get-AzVMSizeZískejte veřejnou IP adresu:
Načtěte veřejnou IP adresu pro připojení k virtuálnímu počítači a uložte ji do proměnné.
$ip = Get-AzPublicIpAddress -ResourceGroupName myResourceGroupName -Name testvm-eus-01Připojte se k virtuálnímu počítači:
Připojte se k virtuálnímu počítači pomocí SSH pomocí IP adresy z proměnné. Pokud je
bobnapříklad uživatelské jméno, použijte následující příkaz:ssh bob@$($ip.IpAddress)Odhlaste se zadáním exitu.
Odstranění virtuálního počítače
Pokud chcete vyzkoušet další příkazy, pojďme virtuální počítač odstranit. Postupujte následovně:
Vypněte virtuální počítač:
Spusťte následující příkaz:
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupNameZadejte Y a po zobrazení výzvy pokračujte stisknutím klávesy Enter .
Odstranění virtuálního počítače:
Jakmile se virtuální počítač zastaví, odstraňte ho spuštěním rutiny
Remove-AzVM.Remove-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupNameZadejte Y a po zobrazení výzvy pokračujte stisknutím klávesy Enter .
Výpis všech prostředků ve skupině prostředků:
Pomocí rutiny
Get-AzResourcezobrazíte seznam všech prostředků ve skupině prostředků. Výsledky se předávají tak, abySelect-Objectvracely konkrétní vlastnosti:Get-AzResource -ResourceGroupName $vm.ResourceGroupName | Select-Object -Property Name, ResourceType, ResourceGroupNameMěli byste vidět několik prostředků, včetně disků, virtuálních sítí atd., které stále existují:
Name ResourceType ResourceGroupName ---- ------------ ----------------- cloudshell Microsoft.Storage/storageAccounts myResourceGroupName testvm-eus-01 Microsoft.Network/virtualNetworks myResourceGroupName testvm-eus-01 Microsoft.Network/publicIPAddresses myResourceGroupName testvm-eus-01 Microsoft.Network/networkSecurityGroups myResourceGroupName testvm-eus-01 Microsoft.Network/networkInterfaces myResourceGroupName testvm-eus-01_OsDisk_1 Microsoft.Compute/disks myResourceGroupNamePříkaz
Remove-AzVModstraní jenom virtuální počítač. Nevyčistí žádné další prostředky. Pokud je chcete ručně vyčistit, postupujte takto:Odstraňte síťové rozhraní:
Get-AzNetworkInterface -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name | Remove-AzNetworkInterfaceZadejte Y a po zobrazení výzvy pokračujte stisknutím klávesy Enter .
Odstraňte skupinu zabezpečení sítě:
Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName | Remove-AzNetworkSecurityGroupZadejte Y a po zobrazení výzvy pokračujte stisknutím klávesy Enter .
Odstraňte veřejnou IP adresu:
Get-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName | Remove-AzPublicIpAddressZadejte Y a po zobrazení výzvy pokračujte stisknutím klávesy Enter .
Odstraňte virtuální síť:
Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName | Remove-AzVirtualNetworkZadejte Y a po zobrazení výzvy pokračujte stisknutím klávesy Enter .
Odstraňte spravované disky s operačním systémem:
Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name | Remove-AzDiskZadejte Y a po zobrazení výzvy pokračujte stisknutím klávesy Enter .
Ověřte, že byly odebrány všechny prostředky:
Zkontrolujte skupinu prostředků a ujistěte se, že jsou odebrány všechny prostředky:
Get-AzResource -ResourceGroupName $vm.ResourceGroupName | Select-Object -Property Name, ResourceType, ResourceGroupName
I když jste tyto příkazy spouštěli interaktivně, lepším přístupem je napsat skript PowerShellu. Skripty umožňují znovu použít logiku pro vytvoření nebo odstranění virtuálního počítače v budoucnu.
Teď se podíváme, jak tyto úlohy automatizovat pomocí skriptu PowerShellu.