Створення стека розгортання
Стек розгортання Azure – це колекція ресурсів Azure, якими можна керувати як однією одиницею, навіть якщо вони охоплюють кілька груп ресурсів або передплат.
Планується розгортання тестової версії програми для нових депозитів. Дізнайтеся більше про те, як створити стек розгортання та перевірити керовані ресурси.
У цій одиниці ви дізнаєтеся, як створити стек розгортання, перевірити його розгортання та перелічити всі стеки розгортання в середовищі.
Примітка
Команди в цій одиниці відображаються, щоб проілюструвати поняття. Поки що не запускайте команди. Ви дізнаєтеся, що ви дізнаєтеся тут найближчим часом.
Знову переглянуті стеки розгортання
Стеки розгортання змінюють спосіб, який ви думаєте про організацію ресурсів у групах ресурсів і передплатах. Стек розгортання дає змогу групувати всі ресурси, які складають програму, незалежно від того, де вони містяться в ієрархії організації ресурсів Azure. Ви можете керувати ними як однією одиницею. За допомогою стеків розгортання можна виконувати операції життєвого циклу з колекції ресурсів, які складають стек.
Подумайте про стеки розгортання як ряд вказівників, які групуватиме ресурси програми в одну одиницю. Стеки розгортання можна створювати в різних областях, наприклад групах ресурсів, передплатах і групах керування.
Визначення ресурсів
Стеки розгортання підтримують використання файлів Bicep, шаблонів ARM JSON або специфікацій шаблонів для визначення ресурсів у стосі. Створюючи стек розгортання за допомогою Azure CLI або Azure PowerShell, ви можете вказати на конкретний файл шаблону (файл Bicep або шаблон ARM JSON) або специфікації шаблону. Не обов'язково змінювати спосіб визначення ресурсів.
Для першого стека розгортання використовується такий файл 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
}
}
Примітка
Ви можете помітити синтаксис ${uniqueString(resourceGroup().id)} параметра webApplicationName. Функція uniqueString створює рядок на основі ідентифікатора групи ресурсів і додає його як суфікс до webapp-deposits. Для багатьох служб Azure потрібні унікальні імена. Ця функція допомагає створити унікальне ім'я.
Створення стека розгортання
Створення та розгортання стека розгортання та його ресурсів майже збігається зі стандартним розгортанням Azure. Незалежно від того, чи використовуєте ви Azure CLI, Azure PowerShell або інфраструктуру як трубопровід коду, процес відчуває себе так само. Наприклад:
Команда Azure CLI для розгортання файлу Bicep у групу ресурсів:
az deployment group create \
--resource-group rg-depositsApplication \
--template-file ./main.bicep
Команда Azure CLI для створення стека розгортання в області групи ресурсів:
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
Зверніть увагу, що єдиними змінами в команді є слова deployment та stack, а також відмінності в параметрах, що використовуються. Те ж саме стосується розгортання передплат і груп керування.
Примітка
У пізніших модулях ми вивчаємо, як керувати ресурсами стека розгортання за допомогою --action-on-unmanage та як запобігти небажаним змінам за допомогою --deny-settings-mode.
Команда Azure PowerShell для розгортання файлу Bicep у групі ресурсів:
New-AzResourceGroupDeployment `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep
Команда Azure PowerShell для створення стека розгортання в області групи ресурсів:
New-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Зверніть увагу, що єдина зміна команди – це слово stack, а також відмінності в використовуваних параметрах. Те ж саме стосується розгортання передплат і груп керування.
Примітка
У пізніших модулях ми вивчаємо, як керувати ресурсами стека розгортання за допомогою -ActionOnUnmanage та як запобігти небажаним змінам за допомогою -DenySettingsMode.
Тепер можна переглянути, як створити стек розгортання в області групи ресурсів.
Щоб створити стек розгортання за допомогою Azure CLI, скористайтеся командою az stack group create. Наведені нижче команди спочатку створюють групу ресурсів під назвою rg-depositsApplication потім створюють стек розгортання в області групи ресурсів.
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
Щоб створити стек розгортання за допомогою Azure PowerShell, скористайтеся командою New-AzResourceGroupDeploymentStack. Наведені нижче команди спочатку створюють групу ресурсів під назвою rg-depositsApplication потім створюють стек розгортання в області групи ресурсів.
New-AzResourceGroup `
-Name rg-depositsApplication `
-Location eastus
New-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Відображення стеків розгортання
Групи ресурсів можуть мати кілька стеків розгортання. Докладні відомості про певний стек розгортання можна відобразити групі ресурсів.
Щоб відобразити певний ресурс стека розгортання, призначений групі ресурсів за допомогою Azure CLI, скористайтеся командою az stack group show, указавши ім'я стека розгортання та цільової групи ресурсів.
az stack group show \
--resource-group rg-depositsApplication \
--name stack-deposits
Результати включають властивості стека розгортання та стан керованих ресурсів. Вивід має з'явитися знайомим для такого розділу:
{
"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"
}
Зверніть увагу на розділ ресурсів виводу. Для кожного ресурсу відображається його стан як managed, його група ресурсів, його ідентифікатор ресурсу та параметри відхилення.
Щоб відобразити певний ресурс стека розгортання, призначений групі ресурсів за допомогою Azure PowerShell, скористайтеся командою Get-AzResourceGroupDeploymentStack, указавши ім'я стека розгортання та цільової групи ресурсів.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication `
-Name stack-deposits
Результати включають властивості стека розгортання та стан керованих ресурсів. Вивід має з'явитися знайомим для такого розділу:
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
Зверніть увагу на розділ ресурсів виводу. Визначає ресурси, якими керує стек розгортання. Відображається повний ідентифікатор ресурсу кожного ресурсу.
Стеки розгортання також можна переглядати на порталі Azure. Вони доступні у відповідних областях. Для групи ресурсів перейдіть до групи ресурсів, у якій розташовано область стека розгортання. У розділі "Настройки" відображається параметр для стеків розгортання.
Якщо клацнути стеки розгортання, у ньому перелічено будь-які стоси, області для групи ресурсів. Якщо клацнути стек розгортання, відкриється сторінка властивостей стеків розгортання.
Входження стеків розгортання
Крім того, можна перелічити всі стеки розгортання для певної групи ресурсів.
Щоб перелічити всі ресурси стека розгортання для групи ресурсів за допомогою Azure CLI, скористайтеся командою az stack group list, указавши цільову групу ресурсів.
az stack group list \
--resource-group rg-depositsApplication
Щоб перелічити всі ресурси стека розгортання для групи ресурсів за допомогою Azure PowerShell, скористайтеся командою Get-AzResourceGroupDeploymentStack, указавши цільову групу ресурсів.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication
Примітка
Azure PowerShell використовує одну команду, Get-AzResourceGroupDeploymentStack як для операцій показу, так і для списку.