Azure-erőforrások létrehozása az Azure PowerShell használatával szkript használatával
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-AzVMegyedi 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:
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.