Skapa en distributionsstack
En Azure-distributionsstack är en samling Azure-resurser som kan hanteras som en enda enhet även om de omfattar flera resursgrupper eller prenumerationer.
Du planerar att distribuera testversionen av det nya inlåningsprogrammet. Du behöver lära dig mer om hur du skapar en distributionsstack och verifierar dess hanterade resurser.
I den här lektionen får du lära dig hur du skapar en distributionsstack, verifierar distributionen och listar alla distributionsstackar i din miljö.
Kommentar
Kommandona i den här enheten visas för att illustrera begrepp. Kör inte kommandona än. Du kommer att öva på det du lär dig här snart.
Distributionsstackar har återbesökts
Distributionsstackar ändrar hur du tänker på resursorganisation mellan resursgrupper och prenumerationer. Med en distributionsstack kan du gruppera alla resurser som utgör ditt program, oavsett var de finns i din Organisationshierarki för Azure-resurser. Du kan hantera dem som en enda enhet. Med distributionsstackar kan du utföra livscykelåtgärder på den samling resurser som utgör stacken.
Tänk på distributionsstackar som en serie pekare som grupperar programmets resurser i en enda enhet. Distributionsstackar kan skapas i olika omfång, till exempel resursgrupper, prenumerationer och hanteringsgrupper.
Definiera resurser
Distributionsstackar stöder användning av Bicep-filer, ARM JSON-mallar eller mallspecifikationer för att definiera resurser i en stack. När du skapar en distributionsstack med hjälp av Azure CLI eller Azure PowerShell kan du peka på den specifika mallfilen (Bicep-filen eller ARM JSON-mallen) eller mallspecifikationen. Det är inte nödvändigt att ändra hur du definierar dina resurser.
Vi använder följande Bicep-fil för vår första distributionsstack. Filen definierar en apptjänstplan och en webbapp. Dessa resurser blir hanterade resurser när vi skapar distributionsstacken.
// 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
}
}
Kommentar
Du kanske ser syntaxen ${uniqueString(resourceGroup().id)}
för parametern webApplicationName
. Funktionen uniqueString skapar en sträng baserat på resursgruppens ID och lägger till den som ett suffix i webapp-deposits
. Många Azure-tjänster kräver unika namn. Den här funktionen hjälper till att generera ett unikt namn.
Skapa en distributionsstack
Att skapa och distribuera en distributionsstack och dess resurser är nästan identiska med en azure-standarddistribution. Oavsett om du använder Azure CLI, Azure PowerShell eller en infrastruktur som kodpipeline känns processen likadan. Till exempel:
Azure CLI-kommandot för att distribuera en Bicep-fil till en resursgrupp är:
az deployment group create \
--resource-group rg-depositsApplication \
--template-file ./main.bicep
Azure CLI-kommandot för att skapa en distributionsstack i resursgruppens omfång är:
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
Observera att de enda ändringarna i kommandot är orden deployment
och stack
, och skillnaderna i de parametrar som används. Detsamma gäller för distributioner till prenumerationer och hanteringsgrupper.
Kommentar
I senare moduler utforskar vi hur du hanterar en distributionsstacks resurser med och --action-on-unmanage
hur du förhindrar oönskade ändringar med hjälp av --deny-settings-mode
.
Azure PowerShell-kommandot för att distribuera en Bicep-fil till en resursgrupp är:
New-AzResourceGroupDeployment `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep
Azure PowerShell-kommandot för att skapa en distributionsstack i resursgruppens omfång är:
New-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Observera att den enda ändringen i kommandot är ordet stack
, och skillnader i de parametrar som används. Detsamma gäller för distributioner till prenumerationer och hanteringsgrupper.
Kommentar
I senare moduler utforskar vi hur du hanterar en distributionsstacks resurser med och -ActionOnUnmanage
hur du förhindrar oönskade ändringar med hjälp av -DenySettingsMode
.
Nu ska vi ta en titt på hur du skapar en distributionsstack i resursgruppens omfång.
Om du vill skapa en distributionsstack med Hjälp av Azure CLI använder du az stack group create
kommandot . Följande kommandon skapar först en resursgrupp med namnet rg-depositsApplication
och skapar sedan distributionsstacken i resursgruppens omfång.
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
Om du vill skapa en distributionsstack med Hjälp av Azure PowerShell använder du New-AzResourceGroupDeploymentStack
kommandot . Följande kommandon skapar först en resursgrupp med namnet rg-depositsApplication
och skapar sedan distributionsstacken i resursgruppens omfång.
New-AzResourceGroup `
-Name rg-depositsApplication `
-Location eastus
New-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Visar distributionsstackar
Resursgrupper kan ha flera distributionsstackar som är begränsade till dem. Du kan visa information om en specifik distributionsstack som är begränsad till en resursgrupp.
Om du vill visa en specifik distributionsstackresurs som är begränsad till en resursgrupp med hjälp av Azure CLI använder az stack group show
du kommandot och anger namnet på distributionsstacken och målresursgruppen.
az stack group show \
--resource-group rg-depositsApplication \
--name stack-deposits
Resultatet inkluderar egenskaperna för distributionsstacken och statusen för de hanterade resurserna. Utdata bör vara bekanta med följande avsnitt:
{
"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"
}
Observera resursavsnittet i utdata. För varje resurs visas dess status som managed
, dess resursgrupp, dess resurs-ID och dess neka-inställningar.
Om du vill visa en specifik distributionsstackresurs som är begränsad till en resursgrupp med hjälp av Azure PowerShell använder Get-AzResourceGroupDeploymentStack
du kommandot och anger namnet på distributionsstacken och målresursgruppen.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication `
-Name stack-deposits
Resultatet inkluderar egenskaperna för distributionsstacken och statusen för de hanterade resurserna. Utdata bör vara bekanta med följande avsnitt:
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
Observera resursavsnittet i utdata. Den definierar de resurser som hanteras av distributionsstacken. Du ser det fullständiga resurs-ID:t för varje resurs.
Du kan också visa distributionsstackar i Azure Portal. De är tillgängliga i respektive omfång. För en resursgrupp navigerar du till den resursgrupp där distributionsstacken är begränsad. Under inställningar visas ett alternativ för distributionsstackar.
När du klickar på distributionsstackar visas alla staplar som är begränsade till resursgruppen. Om du klickar på en distributionsstack kommer du till egenskapssidan för distributionsstackarna.
Lista distributionsstackar
Du kan också visa en lista över alla distributionsstackar som är begränsade till en specifik resursgrupp.
Om du vill visa en lista över alla distributionsstackresurser som är begränsade till en resursgrupp med hjälp av Azure CLI använder az stack group list
du kommandot och anger målresursgruppen.
az stack group list \
--resource-group rg-depositsApplication
Om du vill visa en lista över alla distributionsstackresurser som är begränsade till en resursgrupp med hjälp av Azure PowerShell använder du Get-AzResourceGroupDeploymentStack
kommandot och anger målresursgruppen.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication
Kommentar
Azure PowerShell använder samma kommando för Get-AzResourceGroupDeploymentStack
både show- och liståtgärderna.