Azure-erőforrások létrehozása az Azure PowerShell használatával szkript használatával

Befejeződött

Az összetett vagy ismétlődő feladatok időigényesek és hibalehetőségek lehetnek manuálisan végrehajtva. A szervezetek inkább automatizálják ezeket a feladatokat a költségek csökkentése és a hibák elkerülése érdekében.

Az automatizálás elengedhetetlen az Ügyfélkapcsolat-kezelés (CRM) példában, ahol a szoftvert több Linux rendszerű virtuális gépen teszteli, amelyeket folyamatosan törölni és újra létre kell hozni. A virtuális gépek létrehozásának automatizálására szolgáló PowerShell-szkriptek használata sokkal hatékonyabb és megbízhatóbb, mint minden alkalommal manuálisan létrehozni őket.

A virtuális gép létrehozásának alapműveletén túl a szkriptnek meg kell felelnie néhány egyéb követelménynek:

  • Több virtuális gép létrehozása: Több New-AzVM egyedi névvel ellátott virtuális gép létrehozása.
  • Erőforráscsoport paramétere: Lehetővé teszi a szkript számára, hogy paraméterként fogadja el az erőforráscsoport nevét.

Ebben a leckében megtanulhatja, hogyan írhat és hajthat végre olyan PowerShell-szkripteket, amelyek megfelelnek ezeknek a követelményeknek.

Mi az a PowerShell-szkript?

A PowerShell-szkript egy parancsokat és vezérlési szerkezeteket tartalmazó szövegfájl. A parancsok parancsmagok meghívásai, a vezérlő szerkezetek pedig a PowerShell által biztosított programozási funkciók, például hurkok, változók, paraméterek, megjegyzések stb.

A PowerShell-szkriptfájlok fájlkiterjesztéssel .ps1 rendelkeznek. Ezeket a fájlokat bármilyen szövegszerkesztővel létrehozhatja és mentheti.

Tipp.

Ha PowerShell-szkripteket ír, fontolja meg a Visual Studio Code (VS Code) használatát, amely Windows, Linux és macOS rendszeren ingyenes és támogatott. A VS Code PowerShell-bővítménye olyan funkciókat kínál, mint a szintaxis kiemelése és az elérhető parancsmagok listája.

Az alábbi képernyőkép egy példa a VS Code-ra egy példaszkripttel az Azure-hoz való csatlakozáshoz és egy virtuális gép létrehozásához:

Képernyőkép a VS Code-ról egy PowerShell-szkripttel, amely virtuális gépet hoz létre az Azure-ban.

Miután létrehozott egy szkriptet, végrehajthatja azt a PowerShell parancssorából az aktuális könyvtár pontjának és fordított perjelének átadásával:

.\myScript.ps1

PowerShell-technikák

A PowerShell a programozási nyelvekben gyakran használt funkciókat tartalmazza. Definiálhat változókat, használhat ágakat és hurkokat, rögzítheti a parancssori paramétereket, függvényeket írhat, megjegyzéseket fűzhet hozzá stb. A fókuszban lévő szkripthez három fő jellemzőre van szükség: változókra, hurkokra és paraméterekre.

Változók

A PowerShellben a változók a dollárjel ($) és a hozzárendelt értékek használatával vannak deklarálva az egyenlőségjel (=) operátorral. Példa:

$location = 'eastus'

A változóban tárolt érték meghatározásához használja az $ előtagot és a nevét:

$location

A változók tartalmazhatnak objektumokat. A következő definíció például a $adminCredential parancsmag által visszaadott objektumra állítja a Get-Credential változót:

$adminCredential = Get-Credential

Hurkok

A PowerShell számos hurokstruktúrával rendelkezik, köztük Fora , Foreach, Do-Until, Do-Whileés While. A Foreach hurok jó választás olyan helyzetekben, ahol egy ciklust kell végrehajtania egy gyűjtemény értékeinek egy halmazán keresztül.

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

Paraméterek

PowerShell-szkript létrehozásakor paramétereket adhat hozzá a szkripthez, majd a szkript végrehajtásakor megadhatja ezeknek a paramétereknek az értékeit. Példa:

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

A szkripten belül rögzítse az értékeket változókba. Ebben a példában a paraméterek a Név és a Hely:

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

Ezeket a paramétereket bemenetként és ciklusként használhatja virtuális gépek készletének létrehozásához az adott paraméterek alapján. Ez a módszer általánosan tartja a szkriptet, és nem ismétlődik ugyanaz a kód.

Technikák kombinálása

A PowerShell nyelvi funkcióinak és az Azure PowerShell-parancsmagoknak a kombinációja biztosítja az Azure-feladatok automatizálásához szükséges összes eszközt. A CRM-példában több Linux rendszerű virtuális gépet is létrehozhat paraméteres szkript és hurok használatával a folyamat egyszerűsítése érdekében. Ez a szkript lehetővé teszi egy összetett művelet egyetlen lépésben történő végrehajtását.

Példaszkript

Íme egy példaszkript, amely azt mutatja be, hogy változók, hurkok és paraméterek használatával hoz létre több virtuális gépet:

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
}

A szkript végrehajtása

Mentse a szkriptet, CreateVMs.ps1 és futtassa a PowerShell parancssorából a szükséges paraméterek megadásával:

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

Ezzel a szkripttel hatékonyan hozhat létre több virtuális gépet különböző erőforráscsoportokban, automatizálhatja az ismétlődő feladatokat, és konzisztenciát biztosíthat az Azure-környezetben.