Ćwiczenie — tworzenie zasobów platformy Azure za pomocą programu Azure PowerShell przy użyciu skryptu
W tej lekcji będziesz kontynuować pracę z przykładem firmy, która opracowuje narzędzia administracyjne systemu Linux. Celem jest użycie maszyn wirtualnych z systemem Linux w celu umożliwienia potencjalnym klientom testowania oprogramowania. Po skonfigurowaniu grupy zasobów nadszedł czas, aby utworzyć maszyny wirtualne.
Twoja firma zabezpieczyła stoisko na dużych targach linux. Planujesz skonfigurować obszar demonstracyjny z trzema terminalami, z których każdy jest połączony z oddzielną maszyną wirtualną z systemem Linux. Należy usunąć maszyny wirtualne i utworzyć je ponownie na końcu każdego dnia, aby codziennie zaczynały się od nowa. Ręczne tworzenie maszyn wirtualnych po długim dniu jest podatne na błędy, dlatego należy napisać skrypt programu PowerShell w celu zautomatyzowania procesu tworzenia maszyny wirtualnej.
Uwaga
To ćwiczenie jest opcjonalne. Jeśli chcesz wykonać to ćwiczenie, przed rozpoczęciem musisz utworzyć subskrypcję platformy Azure. Jeśli nie masz konta platformy Azure lub nie chcesz go tworzyć w tej chwili, możesz zapoznać się z instrukcjami, aby zrozumieć prezentowane informacje.
Pisanie skryptu w celu utworzenia maszyn wirtualnych
Wykonaj następujące kroki, aby napisać skrypt w usłudze Azure Cloud Shell, który automatyzuje tworzenie maszyn wirtualnych.
Uwaga
Zazwyczaj uwierzytelniasz się na platformie Azure przy użyciu swoich poświadczeń z Connect-AzAccount, ale w Cloud Shell jesteś już uwierzytelniony, więc ten krok jest niepotrzebny.
Przejdź do folderu macierzystego:
Set-Location -Path $HOMEUtwórz nowy plik skryptu programu PowerShell:
New-Item -Name ConferenceDailyReset.ps1 -ItemType FileOtwórz zintegrowany edytor programu Visual Studio Code (VS Code):
code ./ConferenceDailyReset.ps1Napiwek
Zintegrowany edytor usługi Cloud Shell obsługuje również programy vim, nano i emacs, jeśli wolisz używać jednego z tych edytorów.
Zdefiniuj parametr dla nazwy grupy zasobów:
Dodaj następujący wiersz do skryptu:
param ( [string]$ResourceGroupName )Wprowadź poświadczenia administratora wirtualnej maszyny.
$adminCredential = Get-Credential -Message 'Enter a username and password for the VM administrator.'Utwórz pętlę do wykonania trzy razy:
$vms = 'web','app','sql' foreach ($vm in $vms) { $vm }W pętli zwróć nazwę każdej z maszyn wirtualnych.
Write-Output "Creating VM: $vm"Utwórz maszynę wirtualną przy użyciu zmiennej
$vm:$azVmParams = @{ ResourceGroupName = $ResourceGroupName Name = $vm Credential = $adminCredential Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest' OpenPorts = 22 } New-AzVm @azVmParamsZapisz plik:
Aby zapisać skrypt, użyj menu kontekstowego wielokropka (
...) w prawym górnym rogu edytora lub skrótu klawiaturowego Ctrl + S .
Ukończony skrypt
Ukończony skrypt powinien wyglądać podobnie do następującego przykładu:
param (
[string]$ResourceGroupName
)
$adminCredential = Get-Credential -Message 'Enter a username and password for the VM administrator.'
$vms = 'web','app','sql'
foreach ($vm in $vms) {
Write-Output "Creating VM: $vm"
$azVmParams = @{
ResourceGroupName = $ResourceGroupName
Name = $vm
Credential = $adminCredential
Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest'
OpenPorts = 22
}
New-AzVm @azVmParams
}
Po potwierdzeniu, że skrypt wygląda jak kod w poprzednim przykładzie, zamknij edytor przy użyciu menu kontekstowego wielokropka (...) w prawym górnym rogu edytora lub skrótu klawiaturowego Ctrl +
Q .
Uruchamianie skryptu
Wykonaj skrypt przy użyciu następującego polecenia:
./ConferenceDailyReset.ps1 -ResourceGroupName myResourceGroupNamePoczekaj na ukończenie. Wykonanie skryptu może potrwać kilka minut.
Sprawdź maszyny wirtualne. Po zakończeniu działania skryptu sprawdź, czy został on ukończony pomyślnie, wyświetlając listę maszyn wirtualnych w grupie zasobów:
Get-AzVM -ResourceGroupName myResourceGroupNamePowinny tam być widoczne trzy maszyny wirtualne — każda z unikatową nazwą.
Pomyślnie utworzono skrypt, który automatyzuje tworzenie trzech maszyn wirtualnych, z których każda znajduje się w określonej grupie zasobów, zapewniając, że są one gotowe do codziennych pokazów na targach. Chociaż skrypt jest krótki i prosty, znacznie przyspiesza proces, który w przeciwnym razie byłby czasochłonny i podatny na błędy w przypadku ręcznego wykonania za pośrednictwem witryny Azure Portal.