Cvičení – vytvoření a nasazení zásobníku nasazení pomocí Bicep
Jste ve sprintu 1 pro novou aplikaci pro vklady. Chcete otestovat proces vytvoření zásobníku nasazení se spravovanými prostředky ve vývojovém předplatném. V tomto cvičení vytvoříte zásobník nasazení s vymezeným oborem na skupinu prostředků, která odkazuje na soubor Bicep. Soubor definuje plán služby Azure App Service a službu Azure App Service.
Během tohoto procesu:
- Vytvoření souboru Bicep, který definuje vaši počáteční architekturu
- Vytvořte zásobník nasazení vymezený na skupinu prostředků pomocí souboru Bicep.
- Kontrola konfigurace zásobníku nasazení a spravovaných prostředků
V tomto cvičení se používá rozšíření Bicep pro Visual Studio Code. Nezapomeňte toto rozšíření do Visual Studio Codu nainstalovat.
Vytvoření souboru Bicep
Prvním krokem je vytvoření souboru Bicep, který definuje naše prostředky, které se mají použít se zásobníkem nasazení.
Otevřete Visual Studio Code.
Vytvořte nový soubor s názvem main.bicep.
Uložte prázdný soubor tak, aby Visual Studio Code načítal nástroje Bicep.
Můžete vybrat možnost Uložit jako soubor>nebo vybrat Kombinaci kláves Ctrl+S ve Windows (⌘+S v systému macOS). Nezapomeňte si zapamatovat, kam jste soubor uložili. Můžete například chtít vytvořit složku šablon , do které chcete soubor uložit.
Do souboru přidejte následující kód Bicep. Šablonu nasadíte brzy. Místo kopírování a vkládání je vhodné zadat kód sami, abyste viděli, jak vám nástroje pomáhají psát soubory Bicep.
// Parameters @description('The location for all resources.') param location string = 'eastus' @description('The name of the web application.') param webApplicationName string = 'webapp-${uniqueString(resourceGroup().id)}' // Variables @description('The name of the app service plan.') var appServicePlanName = 'plan-deposits' // Resource - App Service Plan resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = { name: appServicePlanName location: location sku: { name: 'F1' capacity: 1 } } // Resource - Web App resource webApplication 'Microsoft.Web/sites@2023-12-01' = { name: webApplicationName location: location properties: { serverFarmId: appServicePlan.id } }
Všimněte si, že používáte výrazy, které obsahují interpolaci řetězců a
uniqueString()
funkci k definování výchozích hodnot parametrů. Někdo, kdo tuto šablonu nasazuje, může přepsat výchozí hodnoty parametrů zadáním hodnot v době nasazení, ale nemůže přepsat hodnoty proměnných.Všimněte si také, že pro název plánu služby Aplikace Azure používáte proměnnou, ale pro ostatní názvy používáte parametry. Účty úložiště a aplikace App Service potřebují globálně jedinečné názvy, ale názvy plánů služby App Service musí být jedinečné jenom v rámci skupiny prostředků. Tento rozdíl znamená, že se nejedná o použití stejného názvu plánu služby App Service v různých nasazeních, pokud se všechna nasazení nacházejí v různých skupinách prostředků.
Uložte změny souboru.
Vytvoření zásobníku nasazení a nasazení prostředků do Azure
Pokud chcete tuto šablonu nasadit do Azure, musíte se přihlásit ke svému účtu Azure z terminálu editoru Visual Studio Code. Ujistěte se, že jste nainstalovali nástroje Azure CLI .
V nabídce Terminal (Terminál) vyberte New Terminal (Nový terminál). Okno terminálu se obvykle otevře v dolní polovině obrazovky.
Pokud se v okně terminálu zobrazí bash na pravé straně, znamená to, že správné prostředí je už otevřené. Pokud se na pravé straně zobrazí ikona prostředí Bash, můžete ho vybrat a spustit prostředí.
Pokud se zobrazí jiné prostředí než Bash, vyberte šipku rozevíracího seznamu prostředí a pak vyberte Git Bash.
V terminálu přejděte do adresáře, do kterého jste šablonu uložili. Pokud jste například šablonu uložili do složky templates , můžete použít tento příkaz:
cd templates
Instalace Bicep
Spuštěním následujícího příkazu se ujistěte, že máte nejnovější verzi Bicep:
az bicep install && az bicep upgrade
Přihlášení k Azure pomocí Azure CLI
V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:
az login
V prohlížeči, který se otevře, se přihlaste ke svému účtu Azure.
V terminálu editoru Visual Studio Code se zobrazí seznam předplatných přidružených k tomuto účtu.
V seznamu vyhledejte předplatné, které chcete použít pro toto cvičení.
Pokud jste zmeškali seznam z přihlášení, můžete pomocí následujícího fragmentu kódu znovu zobrazit seznam předplatných.
az account list --output table
Nastavte výchozí předplatné pro všechny příkazy Azure CLI, které spustíte v této relaci.
az account set --subscription "Your Subscription Name or ID"
Vytvoření skupiny zdrojů
Potřebujeme vytvořit skupinu prostředků pro náš zásobník nasazení a spravované prostředky. Pokud chcete vytvořit skupinu prostředků, spusťte z terminálu v editoru Visual Studio Code následující příkaz.
az group create \
--name rg-depositsApplication \
--location eastus
Pokud chcete tuto šablonu nasadit do Azure, přihlaste se ke svému účtu Azure z terminálu editoru Visual Studio Code. Ujistěte se, že jste nainstalovali Azure PowerShell.
V nabídce Terminal (Terminál) vyberte New Terminal (Nový terminál). Okno terminálu se obvykle otevře v dolní polovině obrazovky.
Pokud se v okně terminálu na pravé straně zobrazí pwsh nebo PowerShell , znamená to, že správné prostředí je už otevřené. Pokud se na pravé straně zobrazí ikona prostředí PowerShell, můžete ho vybrat a spustit prostředí.
Pokud se zobrazí jiné prostředí než pwsh nebo PowerShell, vyberte šipku rozevíracího seznamu prostředí a pak vyberte PowerShell.
V terminálu přejděte do adresáře, do kterého jste šablonu uložili. Pokud jste například šablonu uložili do složky templates , můžete použít tento příkaz:
Set-Location -Path templates
Instalace rozhraní příkazového řádku Bicep
Pokud chcete použít Bicep z Azure PowerShellu, nainstalujte rozhraní příkazového řádku Bicep.
Přihlášení k Azure přes Azure PowerShell
V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:
Connect-AzAccount
V prohlížeči, který se otevře, se přihlaste ke svému účtu Azure.
Spuštěním následujícího příkazu získejte ID předplatného, které chcete použít pro toto cvičení:
Get-AzSubscription
ID předplatného najdete ve druhém sloupci. Zkopírujte druhý sloupec. Vypadá nějak takto: aaaa0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e4e.
Nastavte výchozí předplatné pro všechny příkazy Azure PowerShellu, které spustíte v této relaci.
Set-AzContext -SubscriptionId {Your subscription ID}
Vytvoření skupiny zdrojů
Potřebujeme vytvořit skupinu prostředků pro náš zásobník nasazení a spravované prostředky. Pokud chcete vytvořit skupinu prostředků, spusťte z terminálu v editoru Visual Studio Code následující příkaz.
New-AzResourceGroup `
-Name rg-depositsApplication `
-Location eastus
Vytvoření zásobníku nasazení
Dále musíme vytvořit zásobník nasazení s vymezeným oborem pro naši nedávno vytvořenou skupinu prostředků. Pokud chcete vytvořit zásobník nasazení, spusťte z terminálu v editoru Visual Studio Code následující příkaz.
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
New-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Ověření vytvoření zásobníku nasazení a spravovaných prostředků
Když vytvoříte zásobník nasazení a jeho spravované prostředky, můžete jeho konfiguraci zobrazit pomocí příkazového řádku nebo webu Azure Portal. V tomto cvičení používáme Azure CLI. Pokud chcete zobrazit konfiguraci zásobníku nasazení, spusťte z terminálu v editoru Visual Studio Code následující příkaz.
az stack group show \
--resource-group rg-depositsApplication \
--name stack-deposits
Výsledky zahrnují vlastnosti zásobníku nasazení a stav spravovaných prostředků. Výstup JSON by měl vypadat jako známý na následujícím obrázku:
{
"actionOnUnmanage": {
"managementGroups": "detach",
"resourceGroups": "detach",
"resources": "detach"
},
"bypassStackOutOfSyncError": null,
"correlationId": ".",
"debugSetting": null,
"deletedResources": [],
"denySettings": {
"applyToChildScopes": false,
"excludedActions": null,
"excludedPrincipals": null,
"mode": "none"
},
"deploymentId": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deployments/stack-deposits",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT2M53.2734284S",
"error": null,
"failedResources": [],
"id": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deploymentStacks/stack-deposits",
"location": null,
"name": "stack-deposits",
"outputs": null,
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "rg-depositsApplication",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-eque2jlrboltq",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
}
],
"systemData": {
"createdAt": "2024-01-01T00:00:01.000000+00:00",
"createdBy": "depositsapplication@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-01-01T00:00:01.000000+00:00",
"lastModifiedBy": "depositsapplication@contoso.com",
"lastModifiedByType": "User"
},
"tags": {},
"template": null,
"templateLink": null,
"type": "Microsoft.Resources/deploymentStacks"
}
Všimněte si oddílu prostředků výstupu. U každého prostředku se jeho stav zobrazuje jako spravovaná, její skupina prostředků, ID prostředku a nastavení zamítnutí.
Když vytvoříte zásobník nasazení a jeho spravované prostředky, můžete jeho konfiguraci zobrazit pomocí příkazového řádku nebo webu Azure Portal. V tomto cvičení používáme Azure PowerShell. Pokud chcete zobrazit konfiguraci zásobníku nasazení, spusťte z terminálu v editoru Visual Studio Code následující příkaz.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication `
-Name stack-deposits
Výsledky zahrnují vlastnosti zásobníku nasazení a stav spravovaných prostředků. Výstup PowerShellu by měl vypadat jako známý na následujícím obrázku:
Id : /subscriptions/././rg-depositsApplication/././deploymentStacks/stack-deposits
Name : stack-deposits
ProvisioningState : succeeded
resourcesCleanupAction : detach
resourceGroupsCleanupAction : detach
managementGroupsCleanupAction : detach
CorrelationId : .
DenySettingsMode : none
CreationTime(UTC) : 1/01/2024 0:00:01 AM
DeploymentId : /subscriptions/././rg-depositsApplication/././deployments/stack-deposits
Resources : /subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits
/subscriptions/././rg-depositsApplication/././sites/webapp-eque2jlrboltq
Všimněte si oddílu prostředků výstupu. Definuje prostředky spravované zásobníkem nasazení. Zobrazí se úplné ID prostředku každého prostředku.