你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如何在使用标准消耗和专用计划的 Azure Spring Apps 中启用你自己的持久性存储
注意
基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用。
本文适用于:✔️ 标准消耗和专用(预览版)❌ 基本/标准 ❌ 企业
本文介绍了如何在 Azure Spring Apps 中启用自己的持久性存储。
自己的存储和 Azure Spring Apps 中的内置持久存储在以下方面有所不同:
在内置存储中,应用程序生成的项目将上传到 Azure 存储帐户中。 在自己的存储中,应用程序生成的项目将上传到你控制的存储帐户中。
在内置存储中,Microsoft Azure 控制这些项目的静态加密和生存期管理策略。 在自己的存储中,静态加密策略、生存期管理策略和网络访问将由你控制。
还可以将自己的持久性存储装载到 Azure Spring Apps,以及环境中的其他服务实例,例如 Azure 容器应用。 此功能可能实现是因为 Azure Spring Apps 实例部署在 Azure 容器应用环境中。
先决条件
- Azure 订阅。 如果你没有订阅,请在开始之前创建一个免费帐户。
- Azure CLI 版本 2.45.0 或更高版本。
- Azure Spring Apps 标准消耗和专用计划服务实例。 有关详细信息,请参阅快速入门:预配 Azure Spring Apps 标准消耗和专用计划服务实例。
- 部署到 Azure Spring Apps 的 Spring 应用。
设置环境
使用以下命令将以下变量设置为资源和当前区域设置的名称。
export RESOURCE_GROUP="<resource-group-name>"
export LOCATION="eastus"
export AZURE_CONTAINER_APPS_ENVIRONMENT="<Azure-Container-Apps-environment-name>"
export AZURE_SPRING_APPS_INSTANCE="<Azure-Spring-Apps-instance-name>"
export APP_NAME="<Spring-app-name>"
设置存储帐户
使用以下步骤创建一个存储帐户并建立文件共享以装载到 Spring 应用。
使用以下命令创建 Azure 存储帐户。
STORAGE_ACCOUNT_NAME
变量包括随机生成的后缀,以确保唯一性。export STORAGE_ACCOUNT_NAME="myasastorageaccount$RANDOM" az storage account create \ --resource-group $RESOURCE_GROUP \ --name $STORAGE_ACCOUNT_NAME \ --location "$LOCATION" \ --kind StorageV2 \ --sku Standard_LRS \ --query provisioningState \ --enable-large-file-share
此命令在成功完成后返回成功消息。
使用以下命令创建 Azure 存储文件共享:
export FILE_SHARE_NAME="<file-share-name>" az storage share-rm create \ --resource-group $RESOURCE_GROUP \ --storage-account $STORAGE_ACCOUNT_NAME \ --name $FILE_SHARE_NAME \ --quota 1024 \ --enabled-protocols SMB \ --output table
使用以下命令获取存储帐户密钥:
export STORAGE_ACCOUNT_KEY=$(az storage account keys list \ --account-name $STORAGE_ACCOUNT_NAME \ --query "[0].value" \ --output tsv)
在 Azure 容器应用环境中创建存储链接需要存储帐户密钥。
将存储链接到 Azure 容器应用环境
通过使用以下命令在 Azure 容器应用环境中创建存储链接。 az containerapp env storage set
命令在环境和通过 az storage share-rm
命令创建的文件共享之间创建链接。
export STORAGE_MOUNT_NAME="<storage-account-name>"
az containerapp env storage set \
--resource-group $RESOURCE_GROUP \
--name $AZURE_CONTAINER_APPS_ENVIRONMENT \
--storage-name $STORAGE_MOUNT_NAME \
--azure-file-account-name $STORAGE_ACCOUNT_NAME \
--azure-file-account-key $STORAGE_ACCOUNT_KEY \
--azure-file-share-name $FILE_SHARE_NAME \
--access-mode ReadWrite \
--output table
现在,存储帐户和环境已链接,可以在 Azure Spring Apps 实例中使用存储装载。
将存储添加到应用
选择使用以下命令将持久性存储添加到现有应用:
az spring app append-persistent-storage \
--resource-group $RESOURCE_GROUP \
--service $AZURE_SPRING_APPS_INSTANCE \
--name $APP_NAME \
--persistent-storage-type AzureFileVolume \
--mount-path /var/log/nginx \
--storage-name $STORAGE_MOUNT_NAME
清理资源
当不再需要在本文中创建的资源时,请务必将其删除。 若要删除资源,只需删除包含它们的资源组即可。 可使用 Azure 门户删除资源组。 也可在要通过 Azure CLI 删除资源组的情况下使用以下命令:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."