Cvičení – vytvoření a nasazení zásobníku nasazení pomocí Bicep

Dokončeno

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í.

  1. Otevřete Visual Studio Code.

  2. Vytvořte nový soubor s názvem main.bicep.

  3. 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.

  4. 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ů.

  5. 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 .

  1. V nabídce Terminal (Terminál) vyberte New Terminal (Nový terminál). Okno terminálu se obvykle otevře v dolní polovině obrazovky.

  2. 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í.

    Snímek obrazovky okna terminálu editoru Visual Studio Code se zobrazenou možností Bash

    Pokud se zobrazí jiné prostředí než Bash, vyberte šipku rozevíracího seznamu prostředí a pak vyberte Git Bash.

    Snímek obrazovky okna terminálu editoru Visual Studio Code s rozevíracím seznamem prostředí terminálu a vybranou možností Výchozí git Bash

  3. 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

  1. V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:

    az login
    
  2. 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.

  3. 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
    
  4. 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.

  1. V nabídce Terminal (Terminál) vyberte New Terminal (Nový terminál). Okno terminálu se obvykle otevře v dolní polovině obrazovky.

  2. 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í.

    Snímek obrazovky okna terminálu editoru Visual Studio Code s možností pwsh zobrazenou v rozevíracím seznamu prostředí

    Pokud se zobrazí jiné prostředí než pwsh nebo PowerShell, vyberte šipku rozevíracího seznamu prostředí a pak vyberte PowerShell.

    Snímek obrazovky okna terminálu editoru Visual Studio Code se zobrazeným rozevíracím seznamem prostředí terminálu a vybranou možností PowerShellu

  3. 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

  1. V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:

    Connect-AzAccount
    
  2. V prohlížeči, který se otevře, se přihlaste ke svému účtu Azure.

  3. 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.

  4. 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.