Vytvoření prostředků Azure pomocí Azure PowerShellu pomocí skriptu
Složité nebo opakující se úlohy můžou být časově náročné a náchylné k chybám při ručním provedení. Organizace raději tyto úlohy automatizují, aby snížily náklady a vyhnuly se chybám.
Automatizace je nezbytná v příkladu správy vztahů se zákazníky (CRM), kde testujete software na několika virtuálních počítačích s Linuxem, které je potřeba průběžně odstraňovat a znovu vytvářet. Použití skriptu PowerShellu k automatizaci vytváření virtuálních počítačů je mnohem efektivnější a spolehlivější než ruční vytváření pokaždé.
Kromě základní operace vytvoření virtuálního počítače musí váš skript splňovat několik dalších požadavků:
-
Vytvoření několika virtuálních počítačů: Slouží
New-AzVM
k vytvoření několika jedinečně pojmenovaných virtuálních počítačů. - Parametr skupiny prostředků: Umožňuje skriptu přijmout název skupiny prostředků jako parametr.
V této lekci se naučíte psát a spouštět skript PowerShellu, který splňuje tyto požadavky.
Co je skript PowerShellu?
Skript PowerShellu je textový soubor obsahující příkazy a konstrukty ovládacích prvků. Příkazy jsou vyvolány rutinami a konstruktory ovládacích prvků jsou programovací funkce, jako jsou smyčky, proměnné, parametry, komentáře atd. poskytované Prostředím PowerShell.
Soubory skriptů PowerShellu mají příponu .ps1
souboru. Tyto soubory můžete vytvořit a uložit pomocí libovolného textového editoru.
Tip
Pokud píšete skripty PowerShellu, zvažte použití editoru Visual Studio Code (VS Code), který je bezplatný a podporovaný ve Windows, Linuxu a macOS. Rozšíření PowerShellu pro VS Code nabízí funkce, jako je zvýraznění syntaxe a seznam dostupných rutin.
Následující snímek obrazovky je příkladem VS Code s ukázkovým skriptem pro připojení k Azure a vytvoření virtuálního počítače:
Po vytvoření skriptu ho můžete spustit z příkazového řádku PowerShellu tak, že předáte název souboru před tečkou pro aktuální adresář a zpětné lomítko:
.\myScript.ps1
Techniky prostředí PowerShell
PowerShell obsahuje funkce, které se běžně vyskytují v programovacích jazycích. Můžete definovat proměnné, používat větve a smyčky, zachytit parametry příkazového řádku, psát funkce, přidávat komentáře a další. Pro skript, na který se zaměřujete, potřebujete tři klíčové funkce: proměnné, smyčky a parametry.
Proměnné
V PowerShellu se proměnné deklarují pomocí znaku dolaru ($
) a přiřazených hodnot pomocí operátoru equals (=
). Příklad:
$location = 'eastus'
Pokud chcete určit hodnotu uloženou v proměnné, použijte předponu $
a její název:
$location
Proměnné můžou obsahovat objekty. Například následující definice nastaví $adminCredential
proměnnou na objekt vrácený rutinou Get-Credential
:
$adminCredential = Get-Credential
Smyčky
PowerShell má několik struktur smyček, včetně For
, Foreach
Do-Until
, , Do-While
a While
. Smyčka Foreach
je dobrou volbou pro scénáře, ve kterých potřebujete spustit smyčku přes sadu hodnot v kolekci.
$items = 'web','app','sql'
foreach ($item in $items) {
$item
}
Parametry
Při vytváření skriptu PowerShellu můžete do skriptu přidat parametry a pak při spuštění skriptu zadat hodnoty těchto parametrů. Příklad:
.\setupEnvironment.ps1 -Name 'web','app','sql' -Location eastus
Uvnitř skriptu zachyťte hodnoty do proměnných. V tomto příkladu jsou parametry Name (Název ) a Location (Umístění):
param (
[string[]]$Name,
[string]$Location
)
Tyto parametry můžete použít jako vstup a smyčku k vytvoření sady virtuálních počítačů na základě daných parametrů. Tento přístup zachová obecný skript a vyhne se opakování stejného kódu.
Kombinování technik
Kombinace jazykových funkcí PowerShellu a rutin Azure PowerShellu poskytuje všechny nástroje, které potřebujete k automatizaci úloh Azure. V příkladu CRM můžete vytvořit několik virtuálních počítačů s Linuxem pomocí parametrizovaného skriptu a smyčky pro zjednodušení procesu. Tento skript umožňuje provést složitou operaci v jednom kroku.
Ukázkový skript
Tady je ukázkový skript, který ukazuje použití proměnných, smyček a parametrů k vytvoření několika virtuálních počítačů:
param (
[string[]]$Name = 'web','app','sql',
[string]$ResourceGroupName,
[string]$Location = 'eastus'
)
$adminCredential = Get-Credential
foreach ($vm in $Name) {
$azVmParams = @{
ResourceGroupName = $ResourceGroupName
Name = $vm
Credential = $adminCredential
Location = $Location
Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest'
OpenPorts = 22
PublicIpAddressName = $vm
}
New-AzVM @azVmParams
}
Spuštění skriptu
Uložte skript jako CreateVMs.ps1
a spusťte ho z příkazového řádku PowerShellu a zadejte požadované parametry:
.\CreateVMs.ps1 -ResourceGroupName <resource-group-name>
Pomocí tohoto skriptu můžete efektivně vytvořit několik virtuálních počítačů v různých skupinách prostředků, automatizovat opakované úlohy a zajistit konzistenci v celém prostředí Azure.