Azure DevTest Labs-környezetek létrehozása ARM-sablonokból
Ebből a cikkből megtudhatja, hogyan hozhat létre Azure DevTest Labs-környezeteket Azure Resource Manager-sablonokból. A DevTest Labs-környezetekkel egyszerűen és következetesen építhet ki tesztkörnyezeteket több virtuális géppel (virtuális gépekkel) vagy szolgáltatásként nyújtott platform (PaaS) erőforrásokkal. Ezzel a módszerrel többrétegű webalkalmazáshoz vagy SharePoint-farmhoz hozhat létre tesztkörnyezetet.
A DevTest Labs-környezetben lévő erőforrások közös életciklussal rendelkeznek, és együtt kezelheti őket. A tesztkörnyezetek és a PaaS-erőforrások költségeit ugyanúgy követheti nyomon, mint az egyes tesztkörnyezeti virtuális gépek költségeit.
Az Azure DevTest Labs konfigurálható arm-sablonok használatára egy nyilvános vagy privát GitHub-adattárból. Az alábbi ábra bemutatja, hogyan hozhat létre környezetet a DevTest Labs használatával egy nyilvános vagy egyéni sablontárban lévő ARM-sablonból. A tesztkörnyezetek sablontárházai részletesen ismertetik ezt a folyamatot.
Előfeltételek
- Hasznos, ha tapasztalatot szerzett a tesztkörnyezetek DevTest Labsban való konfigurálásáról. Ha még nem használja a tesztkörnyezeteket, először tekintse át a Nyilvános környezet beállításainak konfigurálása szakaszban található utasításokat. Tisztában kell lenni a sablontárházak konfigurálásának, a nyilvános környezetek engedélyezésének vagy letiltásának, valamint a tesztkörnyezetek létrehozásához szükséges sablonok kiválasztásának módjával.
Korlátozások
Néhány korlátozást érdemes szem előtt tartani, amikor arm-sablonokból hoz létre tesztkörnyezeteket a DevTest Labsban:
A DevTest Labs nem támogatja a virtuális gép (VM) automatikus leállítási funkcióját az ARM-sablonokból létrehozott PaaS-erőforrásokhoz.
A DevTest Labs nem értékeli ki az összes laborszabályzatot ARM-sablonok telepítésekor. A következő szabályzatok kiértékelése nem történik meg:
- Virtuális gépek száma tesztkörnyezet-felhasználónként
- Prémium szintű virtuális gépek száma felhasználónként
- Prémium szintű asztalok száma felhasználónként
Tegyük fel, hogy van egy tesztkörnyezeti szabályzata, amely lehetővé teszi, hogy minden felhasználó legfeljebb öt virtuális gépet hozzon létre. A DevTest Labsban minden felhasználó üzembe helyezhet egy ARM-környezetsablont, amely több tucat virtuális gépet hoz létre.
Környezetek létrehozása sablonokból
Létrehozhat egy környezetet az Azure DevTest Labs nyilvános sablontárából, vagy hozzáadhat egy privát sablontárházat a laborhoz.
Hozzon létre egy környezetet sablonból az alábbi lépések végrehajtásával:
Az Azure Portalon nyissa meg a DevTest Labs-tesztkörnyezet erőforrását.
A tesztkörnyezet áttekintési lapján bontsa ki a Tesztkörnyezet szakaszt a bal oldali menüben, és válassza a Saját környezetek lehetőséget.
A Saját környezetek lapon válassza a Hozzáadás lehetőséget az eszköztáron.
Az Alaplap kiválasztása lapon válassza ki a használni kívánt ARM-környezetsablont:
A Hozzáadás panelen adja meg a környezet nevét, és konfigurálja a többi paraméterbeállítást.
A paraméterek típusa és száma minden ARM-sablon esetében egyedi. A piros csillag (*) egy kötelező beállítást jelez. Az összes szükséges beállításhoz meg kell adnia az értékeket.
Az ARM-sablonfájl egyes paraméterértékei (azuredeploy.parameters.json) üres beállításmezőket hoznak létre a Hozzáadás panelen (alapértelmezett érték nélkül). Ezek a paraméterértékek a következők:
GEN-UNIQUE
,GEN-UNIQUE-[N]
,GEN-SSH-PUB-KEY
ésGEN-PASSWORD
.Biztonságos sztringparaméterekhez , például jelszavakhoz használhat titkos kulcsokat az Azure Key Vaultból. Ha szeretné megtudni, hogyan tárolhat titkos kulcsokat egy kulcstartóban, és hogyan használhatja őket tesztkörnyezeti erőforrások létrehozásakor, olvassa el a Titkos kulcsok tárolása az Azure Key Vaultban című témakört.
A környezet létrehozásához válassza a Hozzáadás lehetőséget. A környezet azonnal megkezdi a kiépítést.
Feljegyzés
A környezet kiépítésének folyamata hosszú időt vehet igénybe. A teljes idő a DevTest Labs által a tesztkörnyezet részeként létrehozott szolgáltatáspéldányok, virtuális gépek és egyéb erőforrások számától függ.
A kiépítési állapot figyeléséhez térjen vissza a tesztkörnyezet Saját környezetek lapjára:
Amíg a kiépítés folyamatban van, a környezet állapota Létrehozás. A kiépítés befejezése után az állapot készre változik. Az eszköztár Frissítés elemét választva frissítheti a lapnézetet, és ellenőrizheti az aktuális állapotot.
Ha a környezet készen áll, kibonthatja a környezetet a Saját környezetek listában a sablon által kiépített virtuális gépek megtekintéséhez:
Az üzembe helyezés létrehoz egy új erőforráscsoportot az ARM-sablon által definiált összes környezeti erőforrás kiépítéséhez. Válassza ki a környezet nevét a Saját környezetek listában az erőforráscsoport és a sablon által létrehozott összes erőforrás megtekintéséhez:
Válasszon ki egy környezeti virtuális gépet a listában a virtuális gép elérhető műveleteinek megtekintéséhez, például a konfiguráció, az ütemezések és a szabályzatok kezeléséhez:
Sablontárak felfedezése
A DevTest Labs környezeteinek létrehozására szolgáló ARM-sablonok két forrásból érhetők el:
A DevTest Labs nyilvános ARM-sablontárházzal rendelkezik, amely előre összeállított környezeti sablonokat tartalmaz az Azure Web Appshez, egy Azure Service Fabric-fürthöz és a fejlesztési SharePoint-farmokhoz. A sablonok minimális bemeneti paraméterekkel rendelkeznek a PaaS-erőforrások zökkenőmentes használatbavételéhez. A nyilvános környezet sablonjait igény szerint használhatja, vagy testre szabhatja őket. A nyilvános sablon változatait vagy kiegészítéseit úgy is javasolhatja, hogy lekéréses kérelmet küld a GitHub nyilvános sablontárházába.
A környezeti sablonokat saját nyilvános vagy privát GitHub-adattárakban tárolhatja, és hozzáadhatja ezeket az adattárakat a laborhoz, hogy a sablonokat elérhetővé tegye az összes laborfelhasználó számára.
Nyilvános környezet beállításainak konfigurálása
A tesztkörnyezetet úgy konfigurálhatja, hogy engedélyezze a GitHub nyilvános sablontárából származó sablonok használatát. Ha engedélyezi a nyilvános sablontárházat egy tesztkörnyezethez, a felhasználók gyorsan létrehozhatnak egy tesztkörnyezetet úgy, hogy közvetlenül az Azure Portalon választják ki ezeket a sablonokat, hasonlóan ahhoz, ahogyan virtuális gépet hoznak létre egy tesztkörnyezetben. Emellett kiválaszthatja, hogy mely sablonok érhetők el a felhasználók számára a tesztkörnyezetek létrehozásához.
Nyilvános környezet hozzáférésének beállítása új tesztkörnyezethez
Konfigurálja a nyilvános környezet adattár-hozzáférését egy új tesztkörnyezethez az alábbi lépések végrehajtásával:
A DevTest Labs-erőforrás létrehozásának folyamata során válassza az Alapszintű beállítások lapot.
A Nyilvános környezetek beállítás beállítása Be értékre:
Nyilvános környezet hozzáférésének beállítása meglévő tesztkörnyezetekhez
Az ARM-sablonnal létrehozott meglévő tesztkörnyezetek vagy tesztkörnyezetek esetében előfordulhat, hogy a nyilvános környezetek nem lesznek engedélyezve. A nyilvános környezetek engedélyezése beállítással bármely meglévő tesztkörnyezet nyilvános környezeti adattáraihoz való hozzáférést szabályozhatja.
Az alábbi lépéseket követve engedélyezheti vagy letilthatja a nyilvános környezet adattárának hozzáférését bármely meglévő tesztkörnyezethez:
Az Azure Portalon nyissa meg a DevTest Labs-tesztkörnyezet erőforrását, ahol nyilvános környezeti hozzáférést szeretne beállítani.
A labor Áttekintés lapján bontsa ki a bal oldali menü Beállítások szakaszát, és válassza a Konfiguráció és szabályzatok lehetőséget.
A Konfiguráció és szabályzatok lapon bontsa ki a virtuális gép alapjai szakaszt a bal oldali menüben, és válassza a Nyilvános környezetek lehetőséget.
A Nyilvános környezetek lapon állítsa a tesztkörnyezethez tartozó Nyilvános környezetek engedélyezése beállítást Igen értékre:
Válassza a Mentés lehetőséget.
Elérhető nyilvános környezetsablonok kiválasztása
Ha a tesztkörnyezethez tartozó nyilvános környezetek engedélyezése beállítást a tesztkörnyezet nyilvános környezeteihez való hozzáférés szabályozására állítja be, a rendszer alapértelmezés szerint az összes környezeti sablont kijelöli. A beállítás vagy engedélyezi vagy letiltja a hozzáférést az összes környezethez a kijelölés alapján. A listában lévő kijelölési jelölőnégyzetekkel megadhatja, hogy a felhasználók mely környezetekhez férhetnek hozzá.
Kövesse az alábbi lépéseket, hogy csak a labor adott környezeteihez engedélyezze a hozzáférést:
A Nyilvános környezetek lapon állítsa a tesztkörnyezethez tartozó Nyilvános környezetek engedélyezése beállítást Igen értékre.
Törölje az egyes környezetek kijelölését a listában, hogy elérhetetlenné tegye őket a tesztkörnyezet felhasználói számára:
Válassza a Mentés lehetőséget.
Környezeti felhasználói jogosultságok konfigurálása
A tesztkörnyezet felhasználói alapértelmezés szerint a nyilvános környezet adattáraiban az Olvasó szerepkört kapják meg. Nem módosíthatják a környezeti erőforrásokat, és nem állíthatják le és nem indíthatják el az erőforrásokat.
Az alábbi lépésekkel a tesztkörnyezet felhasználóinak a közreműködői szerepkört adhatják meg, és engedélyezhetik számukra a környezeti erőforrások szerkesztését:
Az Azure Portalon nyissa meg a DevTest Labs-tesztkörnyezet erőforrását, ahol módosítani szeretné a felhasználói szerepkör-hozzárendeléseket.
A labor Áttekintés lapján bontsa ki a bal oldali menü Beállítások szakaszát, és válassza a Konfiguráció és szabályzatok lehetőséget.
A Konfiguráció és szabályzatok lapon bontsa ki a bal oldali menü Beállítások szakaszát, és válassza a Tesztkörnyezet beállításai lehetőséget.
A Tesztkörnyezet beállításai lapon állítsa a Környezeti hozzáférés>erőforráscsoport felhasználói jogosultsági beállításait Közreműködőre:
Válassza a Mentés lehetőséget.
Környezet létrehozásának automatizálása
Ha több környezetet kell létrehoznia fejlesztési vagy tesztelési forgatókönyvekhez, automatizálhatja a környezet üzembe helyezését az Azure PowerShell vagy az Azure CLI használatával.
A tesztkörnyezetek tulajdonosai és rendszergazdái az Azure PowerShell használatával hozhatnak létre virtuális gépeket és környezeteket ARM-sablonokból. Az üzembe helyezést az Azure CLI-vel is automatizálhatja az az deployment group create paranccsal a környezetek létrehozásához. További információ: Erőforrások üzembe helyezése ARM-sablonokkal és az Azure CLI-vel.
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Az ARM-környezetsablon üzembe helyezésének automatizálása az Azure PowerShell-lel az alábbi lépésekkel:
Mentse a következő PowerShell-szkriptet a számítógépre a deployenv.ps1 fájlnévvel. Ez a szkript meghívja az ARM-sablont, hogy létrehozza a környezetet a laborban.
#Requires -Module Az.Resources [CmdletBinding()] param ( # ID of the Azure subscription for the lab [string] [Parameter(Mandatory=$true)] $SubscriptionId, # Name of the lab in which to create the environment [string] [Parameter(Mandatory=$true)] $LabName, # Name of the template repository connected to the lab [string] [Parameter(Mandatory=$true)] $RepositoryName, # Name of the template (folder name in the GitHub repository) [string] [Parameter(Mandatory=$true)] $TemplateName, # Name of the environment to create in the lab [string] [Parameter(Mandatory=$true)] $EnvironmentName, # The parameters to pass to the template. Each parameter is prefixed with "-param_". # For example, if the template has a parameter named "TestVMName" with a value of "MyVMName", # the string in $Params is "-param_TestVMName MyVMName". # This convention allows the script to dynamically handle different templates. [Parameter(ValueFromRemainingArguments=$true)] $Params ) # Sign in to Azure, or comment out this statement to completely automate environment creation. Connect-AzAccount # Select the subscription for your lab. Set-AzContext -SubscriptionId $SubscriptionId | Out-Null # Get the user ID to use later in the script. $UserId = $((Get-AzADUser -UserPrincipalName ((Get-AzContext).Account).Id).Id) # Get the lab location. $lab = Get-AzResource -ResourceType "Microsoft.DevTestLab/labs" -Name $LabName if ($lab -eq $null) { throw "Unable to find lab $LabName in subscription $SubscriptionId." } # Get information about the repository connected to your lab. $repository = Get-AzResource -ResourceGroupName $lab.ResourceGroupName ` -ResourceType 'Microsoft.DevTestLab/labs/artifactsources' ` -ResourceName $LabName ` -ApiVersion 2016-05-15 ` | Where-Object { $RepositoryName -in ($_.Name, $_.Properties.displayName) } ` | Select-Object -First 1 if ($repository -eq $null) { throw "Unable to find repository $RepositoryName in lab $LabName." } # Get information about the ARM template base for the environment. $template = Get-AzResource -ResourceGroupName $lab.ResourceGroupName ` -ResourceType "Microsoft.DevTestLab/labs/artifactSources/armTemplates" ` -ResourceName "$LabName/$($repository.Name)" ` -ApiVersion 2016-05-15 ` | Where-Object { $TemplateName -in ($_.Name, $_.Properties.displayName) } ` | Select-Object -First 1 if ($template -eq $null) { throw "Unable to find template $TemplateName in lab $LabName." } # Build the template parameters by using parameter names and values. $parameters = Get-Member -InputObject $template.Properties.contents.parameters -MemberType NoteProperty | Select-Object -ExpandProperty Name $templateParameters = @() # Extract the custom parameters from $Params and format them as name/value pairs. $Params | ForEach-Object { if ($_ -match '^-param_(.*)' -and $Matches[1] -in $parameters) { $name = $Matches[1] } elseif ( $name ) { $templateParameters += @{ "name" = "$name"; "value" = "$_" } $name = $null #reset name variable } } # Create an object to hold the necessary template properties. $templateProperties = @{ "deploymentProperties" = @{ "armTemplateId" = "$($template.ResourceId)"; "parameters" = $templateParameters }; } # Deploy the environment in your lab by using the New-AzResource command. New-AzResource -Location $Lab.Location ` -ResourceGroupName $lab.ResourceGroupName ` -Properties $templateProperties ` -ResourceType 'Microsoft.DevTestLab/labs/users/environments' ` -ResourceName "$LabName/$UserId/$EnvironmentName" ` -ApiVersion '2016-05-15' -Force Write-Output "Environment $EnvironmentName completed."
Frissítse a szkript alábbi helyőrzőit a saját tesztkörnyezeti értékeivel:
SubscriptionId
LabName
ResourceGroupName
RepositoryName
TemplateName
(sablonmappa a GitHub-adattárban)EnvironmentName
Az alábbi kódrészlet bemutatja, hogyan futtathatja a szkriptet példaparaméter-értékekkel:
./deployenv.ps1 -SubscriptionId "000000000-0000-0000-0000-0000000000000" -LabName "mydevtestlab" -ResourceGroupName "mydevtestlabRG000000" -RepositoryName "myRepository" -TemplateName "ARM template folder name" -EnvironmentName "myNewEnvironment"
Futtassa a szkriptet.
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: