Tworzenie zasobów platformy Azure za pomocą programu Azure PowerShell przy użyciu skryptu

Ukończone

Złożone lub powtarzające się zadania mogą być czasochłonne i podatne na błędy podczas ręcznego wykonywania. Organizacje wolą automatyzować te zadania, aby zmniejszyć koszty i uniknąć błędów.

Automatyzacja jest niezbędna w przykładzie zarządzania relacjami z klientami (CRM), w którym testujesz oprogramowanie na wielu maszynach wirtualnych z systemem Linux, które muszą być stale usuwane i tworzone ponownie. Używanie skryptu programu PowerShell do automatyzowania tworzenia maszyn wirtualnych jest znacznie bardziej wydajne i niezawodne niż ręczne tworzenie ich za każdym razem.

Poza podstawową operacją tworzenia maszyny wirtualnej skrypt musi spełniać kilka innych wymagań:

  • Tworzenie wielu maszyn wirtualnych: użyj polecenia New-AzVM , aby utworzyć wiele unikatowych nazwanych maszyn wirtualnych.
  • Parametr grupy zasobów: zezwól skryptowi na akceptowanie nazwy grupy zasobów jako parametru.

W tej lekcji dowiesz się, jak napisać i wykonać skrypt programu PowerShell spełniający te wymagania.

Co to jest skrypt programu PowerShell?

Skrypt programu PowerShell jest plikiem tekstowym zawierającym polecenia i konstrukcje kontrolne. Polecenia są wywołaniami poleceń cmdlet, a konstrukcje sterujące to funkcje programowania, takie jak pętle, zmienne, parametry, komentarze itp. dostarczone przez program PowerShell.

Pliki skryptów programu PowerShell mają .ps1 rozszerzenie pliku. Te pliki można tworzyć i zapisywać przy użyciu dowolnego edytora tekstów.

Napiwek

Jeśli piszesz skrypty programu PowerShell, rozważ użycie programu Visual Studio Code (VS Code), który jest bezpłatny i obsługiwany w systemach Windows, Linux i macOS. Rozszerzenie programu PowerShell dla programu VS Code oferuje funkcje, takie jak wyróżnianie składni i lista dostępnych poleceń cmdlet.

Poniższy zrzut ekranu to przykład programu VS Code z przykładowym skryptem umożliwiającym nawiązanie połączenia z platformą Azure i utworzenie maszyny wirtualnej:

Zrzut ekranu programu VS Code ze skryptem programu PowerShell umożliwiającym utworzenie maszyny wirtualnej na platformie Azure.

Po utworzeniu skryptu można go wykonać z poziomu wiersza polecenia programu PowerShell, przekazując nazwę pliku poprzedzoną kropką dla bieżącego katalogu i ukośnikiem odwrotnym:

.\myScript.ps1

Techniki programu PowerShell

Program PowerShell zawiera funkcje często spotykane w językach programowania. Zmienne można definiować, używać gałęzi i pętli, przechwytywać parametry wiersza polecenia, zapisywać funkcje, dodawać komentarze i nie tylko. W przypadku skryptu, na którym koncentrujesz się, potrzebne są trzy kluczowe funkcje: zmienne, pętle i parametry.

Zmienne

W programie PowerShell zmienne są deklarowane przy użyciu znaku dolara ($) i przypisanych wartości przy użyciu operatora równości (=). Na przykład:

$location = 'eastus'

Aby określić wartość przechowywaną w zmiennej, użyj prefiksu $ i jego nazwy:

$location

Zmienne mogą przechowywać obiekty. Na przykład poniższa definicja ustawia zmienną $adminCredential na obiekt zwracany przez Get-Credential polecenie cmdlet:

$adminCredential = Get-Credential

Pętle

Program PowerShell ma kilka struktur pętli, w tym For, Foreach, Do-Until, Do-Whilei While. Pętla Foreach jest dobrym wyborem w scenariuszach, w których należy wykonać pętlę na zestawie wartości w kolekcji.

$items = 'web','app','sql'
foreach ($item in $items) {
    $item
}

Parametry

Podczas tworzenia skryptu programu PowerShell można dodać parametry do skryptu, a następnie określić wartości tych parametrów podczas wykonywania skryptu. Na przykład:

.\setupEnvironment.ps1 -Name 'web','app','sql' -Location eastus

Wewnątrz skryptu przechwyć wartości w zmiennych. W tym przykładzie parametry to Nazwa i Lokalizacja:

param (
    [string[]]$Name,
    [string]$Location
)

Możesz użyć tych parametrów jako danych wejściowych i pętli, aby utworzyć zestaw maszyn wirtualnych na podstawie podanych parametrów. Takie podejście utrzymuje ogólny skrypt i unika powtarzania tego samego kodu.

Łączenie technik

Kombinacja funkcji języka programu PowerShell i poleceń cmdlet programu Azure PowerShell udostępnia wszystkie narzędzia potrzebne do automatyzacji zadań platformy Azure. W przykładzie CRM można utworzyć wiele maszyn wirtualnych z systemem Linux przy użyciu skryptu sparametryzowanego i pętli w celu usprawnienia procesu. Ten skrypt umożliwia wykonanie złożonej operacji w jednym kroku.

Przykładowy skrypt

Oto przykładowy skrypt, który demonstruje używanie zmiennych, pętli i parametrów do tworzenia wielu maszyn wirtualnych:

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
}

Wykonywanie skryptu

Zapisz skrypt jako CreateVMs.ps1 i uruchom go z wiersza polecenia programu PowerShell, podając wymagane parametry:

.\CreateVMs.ps1 -ResourceGroupName <resource-group-name>

Za pomocą tego skryptu można wydajnie tworzyć wiele maszyn wirtualnych w różnych grupach zasobów, automatyzując powtarzające się zadania i zapewniając spójność w środowisku platformy Azure.