Упражнение. Обновление и удаление стека развертывания
Вы на спринте 2 для нового приложения депозитов. Вы хотите проверить обновление стека развертывания, определив базу данных SQL Azure в файле Bicep. Необходимо убедиться, что стек управляет вновь определенными ресурсами.
В этом упражнении вы обновите файл Bicep, созданный ранее, чтобы включить новые ресурсы. Вы также обновляете и удаляете стек развертывания, который управляет ресурсами.
- Обновите файл Bicep, чтобы включить базу данных SQL Azure.
- Обновите стек развертывания, чтобы развернуть новую базу данных.
- Проверьте управляемые ресурсы стека развертывания.
- Удалите стек развертывания и управляемые ресурсы.
- Проверьте удаление стека развертывания и управляемых ресурсов.
Обновите файл Bicep, чтобы включить базу данных SQL Azure
Откройте файл main.bicep в Visual Studio Code.
Добавьте выделенный код в раздел параметров файла:
// Parameters @description('The location for all resources.') param location string = 'eastus' @description('The name of the SQL database.') param sqlDatabaseName string = 'sqldb-${uniqueString(resourceGroup().id)}' @description('The password of the admin user.') param sqlServerAdminUserName string @description('The name of the admin user.') @secure() param sqlServerAdminPassword string @description('The name of the SQL server.') param sqlServerName string = 'sql-${uniqueString(resourceGroup().id)}' @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 - SQL Server resource sqlServer 'Microsoft.Sql/servers@2021-11-01' ={ name: sqlServerName location: location properties: { administratorLogin: sqlServerAdminUserName administratorLoginPassword: sqlServerAdminPassword } } // Resource - SQL Database resource sqlServerDatabase 'Microsoft.Sql/servers/databases@2021-11-01' = { parent: sqlServer name: sqlDatabaseName location: location sku: { name: 'Standard' tier: 'Standard' } }
Сохраните изменения в файле.
Обновление стека развертывания
После обновления файла Bicep мы хотим обновить стек развертывания, чтобы новая база данных SQL Azure развертывалась в среде в качестве управляемого ресурса.
Чтобы обновить стек развертывания, выполните следующую команду из терминала в Visual Studio Code.
az stack group create \ --name stack-deposits \ --resource-group rg-depositsApplication \ --template-file ./main.bicep \ --action-on-unmanage deleteAll \ --deny-settings-mode none
Вы получите сообщение о том, что стек уже существует в текущей подписке. Если значение действия для неуправляемого параметра изменилось, предупреждение оповещает вас о новых значениях. Нажмите клавишу
y
ВВОД, а затем нажмите клавишу ВВОД.Вам будет предложено ввести значение для
sqlServerAdminUserName
. Создайте имя администратора SQL Server, за которым следует "ВВОД".Вам будет предложено ввести значение для
sqlServerAdminPassword
. Создайте сложный пароль для администратора SQL Server, а затем —ВВОД.
Дождитесь завершения операции обновления, прежде чем перейти к следующей задаче.
После обновления файла Bicep мы хотим обновить стек развертывания, чтобы новая база данных SQL Azure развертывалась в среде в качестве управляемого ресурса.
Чтобы обновить стек развертывания, выполните следующую команду из терминала в Visual Studio Code.
Set-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -TemplateFile ./main.bicep ` -ActionOnUnmanage DeleteAll ` -DenySettingsMode none
Вам будет предложено ввести значение для
sqlServerAdminUserName
. Создайте имя администратора SQL Server, за которым следует "ВВОД".Вам будет предложено ввести значение для
sqlServerAdminPassword
. Создайте сложный пароль для администратора SQL Server, а затем —ВВОД.Дождитесь завершения операции обновления, прежде чем перейти к следующей задаче.
Проверка обновления стека развертывания и управляемых ресурсов
После завершения обновления мы хотим убедиться, что стек развертывания управляет базой данных SQL Azure. Чтобы просмотреть конфигурацию стека развертывания, выполните следующую команду из терминала в Visual Studio Code.
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,
"parameters": {
"sqlServerAdminPassword": {
"reference": null,
"type": "securestring",
"value": ""
},
"sqlServerAdminUserName": {
"reference": null,
"type": "string",
"value": "sqladmin"
}
},
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "rg-depositsApplication",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq/databases/sqldb-eque2jlrboltq",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
},
{
"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"
}
Обратите внимание на раздел ресурсов выходных данных. Теперь мы видим сервер SQL Server и базу данных SQL, перечисленные как управляемые ресурсы.
После завершения обновления мы хотим убедиться, что стек развертывания управляет базой данных SQL Azure. Чтобы просмотреть конфигурацию стека развертывания, выполните следующую команду из терминала в Visual Studio Code.
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
/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq
/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq/databases/sqldb-eque2jlrboltq
Parameters :
Name Type Value
======================== ========================= ==========
sqlServerAdminUserName string "sqladmin"
sqlServerAdminPassword securestring ""
Обратите внимание на раздел ресурсов выходных данных. Теперь мы видим сервер SQL Server и базу данных SQL, перечисленные как управляемые ресурсы.
Удаление стека развертывания
Чтобы удалить стек развертывания и управляемые ресурсы, выполните следующую команду из терминала в Visual Studio Code.
az stack group delete \ --name stack-deposits \ --resource-group rg-depositsApplication \ --action-on-unmanage deleteAll
Вам будет предложено подтвердить, хотите ли удалить стек и указанные ресурсы.
После завершения операции удаления откройте портал Azure и убедитесь, что стек развертывания и его ресурсы удалены.
Чтобы удалить группу ресурсов, используемую в этих упражнениях, выполните следующую команду из терминала в Visual Studio Code.
az group delete \ -name rg-depositsApplication
Вам будет предложено подтвердить, хотите ли удалить группу ресурсов. Нажмите клавишу Y, а затем —ВВОД.
Чтобы удалить стек развертывания и управляемые ресурсы, выполните следующую команду из терминала в Visual Studio Code.
Remove-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -ActionOnUnmanage DeleteAll
Вам будет предложено подтвердить, хотите ли удалить стек и указанные ресурсы.
После завершения операции удаления откройте портал Azure и убедитесь, что стек развертывания и его ресурсы удалены.
Чтобы удалить группу ресурсов, используемую в этих упражнениях, выполните следующую команду из терминала в Visual Studio Code.
Remove-AzResourceGroup ` -Name rg-depositsApplication
Вам будет предложено подтвердить, хотите ли удалить группу ресурсов. Нажмите клавишу Y, а затем —ВВОД.