Vytvoření zásobníku nasazení
Zásobník nasazení Azure je kolekce prostředků Azure, které je možné spravovat jako jednu jednotku, i když pokrývají více skupin prostředků nebo předplatných.
Plánujete nasazení testovací verze nové aplikace pro vklady. Potřebujete další informace o tom, jak vytvořit zásobník nasazení a ověřit jeho spravované prostředky.
V této lekci se dozvíte, jak vytvořit zásobník nasazení, ověřit jeho nasazení a zobrazit seznam všech zásobníků nasazení ve vašem prostředí.
Poznámka:
Příkazy v této lekci jsou znázorněny pro ilustraci konceptů. Zatím nespouštět příkazy. Brzy si procvičíte, co se tady naučíte.
Zásobníky nasazení se znovu zobrazí
Zásobníky nasazení mění způsob, jakým přemýšlíte o organizaci prostředků napříč skupinami prostředků a předplatnými. Zásobník nasazení umožňuje seskupit všechny prostředky, které tvoří vaši aplikaci, bez ohledu na to, kde jsou v organizační hierarchii prostředků Azure. Můžete je spravovat jako jednu jednotku. Díky zásobníkům nasazení můžete provádět operace životního cyklu s kolekcí prostředků, které tvoří zásobník.
Zásobníky nasazení si můžete představit jako řadu ukazatelů, které seskupují prostředky vaší aplikace do jedné jednotky. Zásobníky nasazení je možné vytvářet v různých oborech, jako jsou skupiny prostředků, předplatná a skupiny pro správu.
Definování prostředků
Zásobníky nasazení podporují použití souborů Bicep, šablon JSON ARM nebo specifikací šablon pro definování prostředků v zásobníku. Při vytváření zásobníku nasazení pomocí Azure CLI nebo Azure PowerShellu můžete odkazovat na konkrétní soubor šablony (soubor Bicep nebo šablonu JSON ARM) nebo specifikaci šablony. Není nutné měnit způsob definování prostředků.
Pro náš první zásobník nasazení použijeme následující soubor Bicep. Soubor definuje plán služby App Service a webovou aplikaci. Tyto prostředky se stanou spravovanými prostředky při vytváření zásobníku nasazení.
// 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
}
}
Poznámka:
Možná si všimnete ${uniqueString(resourceGroup().id)}
syntaxe parametru webApplicationName
. Funkce uniqueString vytvoří řetězec na základě ID skupiny prostředků a přidá ji jako příponu do webapp-deposits
. Mnoho služeb Azure vyžaduje jedinečné názvy. Tato funkce pomáhá generovat jedinečný název.
Vytvoření zásobníku nasazení
Vytvoření a nasazení zásobníku nasazení a jeho prostředků je téměř stejné jako standardní nasazení Azure. Bez ohledu na to, jestli používáte Azure CLI, Azure PowerShell nebo infrastrukturu jako kanál kódu, je proces stejný. Příklad:
Příkaz Azure CLI pro nasazení souboru Bicep do skupiny prostředků:
az deployment group create \
--resource-group rg-depositsApplication \
--template-file ./main.bicep
Příkaz Azure CLI pro vytvoření zásobníku nasazení v oboru skupiny prostředků:
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
Všimněte si, že jedinými změnami v příkazu jsou slova deployment
a stack
rozdíly v použitých parametrech. Totéž platí pro nasazení do předplatných a skupin pro správu.
Poznámka:
V pozdějších modulech prozkoumáme, jak spravovat prostředky zásobníku nasazení pomocí --action-on-unmanage
a jak zabránit nežádoucím změnám pomocí --deny-settings-mode
.
Příkaz Azure PowerShellu pro nasazení souboru Bicep do skupiny prostředků:
New-AzResourceGroupDeployment `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep
Příkaz Azure PowerShellu pro vytvoření zásobníku nasazení v oboru skupiny prostředků:
New-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Všimněte si, že jedinou změnou v příkazu je slovo stack
a rozdíly v použitých parametrech. Totéž platí pro nasazení do předplatných a skupin pro správu.
Poznámka:
V pozdějších modulech prozkoumáme, jak spravovat prostředky zásobníku nasazení pomocí -ActionOnUnmanage
a jak zabránit nežádoucím změnám pomocí -DenySettingsMode
.
Teď se podívejme na vytvoření zásobníku nasazení v oboru skupiny prostředků.
K vytvoření zásobníku nasazení pomocí Azure CLI použijte az stack group create
příkaz. Následující příkazy nejprve vytvoří skupinu prostředků s názvem rg-depositsApplication
a pak vytvoří zásobník nasazení v oboru skupiny prostředků.
az group create \
--name rg-depositsApplication \
--location eastus
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
K vytvoření zásobníku nasazení pomocí Azure PowerShellu New-AzResourceGroupDeploymentStack
použijte příkaz. Následující příkazy nejprve vytvoří skupinu prostředků s názvem rg-depositsApplication
a pak vytvoří zásobník nasazení v oboru skupiny prostředků.
New-AzResourceGroup `
-Name rg-depositsApplication `
-Location eastus
New-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Zobrazení zásobníků nasazení
Skupiny prostředků můžou mít na ně omezených více zásobníků nasazení. Můžete zobrazit podrobnosti o konkrétním zásobníku nasazení omezeném na skupinu prostředků.
Pokud chcete zobrazit konkrétní prostředek zásobníku nasazení vymezený na skupinu prostředků pomocí Azure CLI, použijte az stack group show
příkaz, zadejte název zásobníku nasazení a cílovou skupinu prostředků.
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 by měl být známý v následující části:
{
"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 managed
, jeho skupina prostředků, ID prostředku a nastavení zamítnutí.
Pokud chcete zobrazit konkrétní prostředek zásobníku nasazení vymezený na skupinu prostředků pomocí Azure PowerShellu, použijte Get-AzResourceGroupDeploymentStack
příkaz, zadejte název zásobníku nasazení a cílovou skupinu prostředků.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication `
-Name stack-deposits
Výsledky zahrnují vlastnosti zásobníku nasazení a stav spravovaných prostředků. Výstup by měl být známý v následující části:
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.
Zásobníky nasazení můžete zobrazit také na webu Azure Portal. Jsou k dispozici v příslušných oborech. V případě skupiny prostředků přejděte do skupiny prostředků, ve které je vymezen zásobník nasazení. V nastavení se zobrazí možnost pro zásobníky nasazení.
Když kliknete na zásobníky nasazení, zobrazí se seznam všech zásobníků omezených na skupinu prostředků. Kliknutím na zásobník nasazení přejdete na stránku vlastností zásobníků nasazení.
Výpis zásobníků nasazení
Můžete také zobrazit seznam všech zásobníků nasazení omezených na konkrétní skupinu prostředků.
Pokud chcete vypsat všechny prostředky zásobníku nasazení omezené na skupinu prostředků pomocí Azure CLI, použijte az stack group list
příkaz a zadejte cílovou skupinu prostředků.
az stack group list \
--resource-group rg-depositsApplication
Pokud chcete vypsat všechny prostředky zásobníku nasazení omezené na skupinu prostředků pomocí Azure PowerShellu, použijte Get-AzResourceGroupDeploymentStack
příkaz a zadejte cílovou skupinu prostředků.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication
Poznámka:
Azure PowerShell používá stejný příkaz pro Get-AzResourceGroupDeploymentStack
operace zobrazení i výpisu.