Cvičení – vytvoření prostředků Azure pomocí skriptů v Azure PowerShellu
Vzpomeňte si na náš původní scénář: vytváření virtuálních počítačů pro testování našeho softwaru CRM. Když je k dispozici nové sestavení, chceme aktivovat nový virtuální počítač, abychom mohli otestovat kompletní postup instalace z čisté image. Po dokončení chceme virtuální počítač odstranit.
Pojďme vyzkoušet příkazy k vytvoření virtuálního počítače.
Vytvoření virtuálního počítače s Linuxem pomocí Azure PoweShellu
Vzhledem k tomu, že používáme sandbox Azure, nemusíte vytvářet skupinu prostředků. Místo toho použijte
Pojďme vytvořit nový virtuální počítač Azure pomocí PowerShellu.
Pomocí rutiny
New-AzVm
vytvořte virtuální počítač.Použijte skupinu prostředků [název skupiny prostředků sandboxu]. Virtuální počítač pojmenujte. Obvykle chcete použít něco smysluplného, co identifikuje účel virtuálního počítače, umístění a (pokud existuje více než jedno) číslo instance. "testvm-eus-01" používáme pro testovací virtuální počítač v oblasti USA – východ, instance 1. Představte si vlastní název podle toho, kam virtuální počítač umístíte.
V následujícím seznamu vyberte umístění blízko vás, které je dostupné v sandboxu Azure. Pokud používáte kopírování a vkládání, nezapomeňte změnit hodnotu v následujícím ukázkovém příkazu.
- westus2
- Střed USA – jih
- centralus
- eastus
- westeurope
- Jihovýchodní Asie
- japaneast
- brazilsouth
- australiasoutheast
- centralindia
Pro image použijte Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest. Tato image je Ubuntu Linux.
Použijte rutinu
Get-Credential
a zaveďte výsledky do parametruCredential
.Důležité
Informace o omezeních uživatelského jména a hesla najdete v nejčastějších dotazech k virtuálním počítačům s Linuxem. Hesla musí mít délku 12 až 123 znaků a musí splňovat tři z následujících čtyř požadavků na složitost:
- Mají malá písmena.
- Mají velká písmena.
- Musí obsahovat číslici.
- Musí obsahovat speciální znak (odpovídající regulárnímu výrazu [\W_]).
-OpenPorts
Přidejte parametr a jako port předejte "22". Tento port nám umožňuje připojovat se k počítači přes SSH.Vytvořte název veřejné IP adresy. Tento název použijete k vytvoření a vyhledání statické IP adresy pro přihlášení k počítači.
New-AzVm -ResourceGroupName <rgn>[sandbox resource group name]</rgn> -Name "testvm-eus-01" -Credential (Get-Credential) -Location "eastus" -Image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest -OpenPorts 22 -PublicIpAddressName "testvm-eus-01"
Tip
Můžete použít tlačítko Kopírovat pro kopírování příkazů do schránky. 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).
Vytvořte uživatelské jméno a heslo a stiskněte Enter. PowerShell začne vytvářet virtuální počítač.
Vytvoření virtuálního počítače trvá několik minut. Po dokončení se na něj můžete dotazovat a přiřadit objekt virtuálního počítače k proměnné (
$vm
).$vm = (Get-AzVM -Name "testvm-eus-01" -ResourceGroupName <rgn>[sandbox resource group name]</rgn>)
Zadejte dotaz na hodnotu, aby se vypsaly informace o virtuálním počítači.
$vm
Mělo by se zobrazit něco jako v následujícím výstupu:
ResourceGroupName : <rgn>[sandbox resource group name]</rgn> Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<rgn>[sandbox resource group name]</rgn>/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}
Ke složitým objektům se můžete dostat prostřednictvím tečky (
.
) notace. Pokud například chcete zobrazit vlastnosti v objektuVMSize
přidruženém k části HardwareProfile, spusťte následující příkaz:$vm.HardwareProfile
Pokud chcete získat informace o jednom z disků, spusťte následující příkaz:
$vm.StorageProfile.OsDisk
Objekt virtuálního počítače můžete dokonce předat do jiných rutin. Spuštěním následujícího příkazu se například zobrazí všechny dostupné velikosti pro váš virtuální počítač:
$vm | Get-AzVMSize
Teď spuštěním následujícího příkazu získejte veřejnou IP adresu:
az vm list-ip-addresses -n testvm-eus-01 -g <rgn>[sandbox resource group name]</rgn>
S IP adresou se můžete připojit k virtuálnímu počítači pomocí protokolu SSH. Pokud jste například použili uživatelské jméno
bob
a IP adresa je205.22.16.5
, spuštěním tohoto příkazu se připojíte k počítači s Linuxem:ssh bob@205.22.16.5
Odhlaste se zadáním
exit
.
Odstranění virtuálního počítače
Pokud si chcete vyzkoušet několik dalších příkazů, pojďme virtuální počítač odstranit. Nejdřív ho musíme vypnout (pokud se zobrazí výzva k pokračování, zadejte Y ):
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Po zastavení virtuálního počítače odstraňte virtuální počítač spuštěním Remove-AzVM
rutiny (pokud se zobrazí výzva k pokračování, zadejte Y ):
Remove-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Spuštěním tohoto příkazu zobrazte seznam všech prostředků ve vaší skupině prostředků:
Get-AzResource -ResourceGroupName $vm.ResourceGroupName | Format-Table
Měli byste vidět několik prostředků (disky, virtuální sítě atd.), které všechny stále existují.
Microsoft.Compute/disks
Microsoft.Network/networkInterfaces
Microsoft.Network/networkSecurityGroups
Microsoft.Network/publicIPAddresses
Microsoft.Network/virtualNetworks
Příkaz Remove-AzVM
jenom odstraní virtuální počítač. Nevyčistí žádné další prostředky. V tomto okamžiku bychom pravděpodobně odstranili samotnou skupinu prostředků a provedli jsme ji. Projděme si ale rychle cvičením, kterým ji vyčistíme ručně. V příkazech byste měli vidět jisté schéma.
Odstraňte síťové rozhraní:
$vm | Remove-AzNetworkInterface –Force
Odstraňte spravované disky s operačním systémem:
Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name | Remove-AzDisk -Force
Dále odstraňte virtuální síť:
Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName | Remove-AzVirtualNetwork -Force
Odstraňte skupinu zabezpečení sítě:
Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName | Remove-AzNetworkSecurityGroup -Force
Nakonec odstraňte veřejnou IP adresu:
Get-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName | Remove-AzPublicIpAddress -Force
Měli jsme zachytit všechny vytvořené prostředky. Zkontrolujte skupinu prostředků, abyste měli jistotu. Tady jsme provedli mnoho ručních příkazů, ale lepším přístupem by bylo napsat skript. Tuto logiku bychom pak mohli později znovu použít k vytvoření nebo odstranění virtuálního počítače. Pojďme se podívat na skriptování pomocí PowerShellu.