你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

预配 Azure 容器应用

注意

基本计划、标准计划和企业计划于 2025 年 3 月 17 日进入停用期。 有关详细信息,请参阅 Azure Spring Apps 停用公告

标准消耗和专用计划于 2024 年 9 月 30 日进入停用期,并将在 2025 年 3 月底之前完全关闭。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用

本文适用于: 基本/标准 ✅ 企业

本文概述了 Azure 容器应用创建过程中的注意事项。

在 Azure Spring Apps 中,应用程序部署在服务实例中,该实例提供完全托管的平台。 同样,在 Azure 容器应用中,容器应用是在 Azure 容器应用环境中创建的,该环境充当应用程序的基础主机。 虽然这两种服务都提供托管环境,但它们在各种方面有所不同,例如定价模型、维护、区域支持和管理操作。 本文探讨这些差异,并提供有关创建和管理 Azure 容器应用环境的指南。

先决条件

创建 Azure 容器应用环境

若要创建 Azure 容器应用环境,请使用以下命令:

az containerapp env create \
    --resource-group $RESOURCE_GROUP \
    --name $ENVIRONMENT \
    --___location "$LOCATION"

有关其他配置选项,请参阅 Azure 容器应用 CLI 命令

创建环境后,可以在其中部署容器应用。 有关分步指南,请参阅快速入门:使用 Azure 门户部署第一个容器应用

注意事项

如果容器应用环境满足特定条件,则会自动删除容器应用环境,例如,如果某个环境在 90 天内保持空闲状态。 有关条件的完整列表,请参阅 Azure 容器应用环境策略部分。

区域支持

Azure 容器应用当前支持的区域可能无法完全与 Azure Spring Apps 支持的区域保持一致。 在可用产品(按区域)中查看最新的可用情况。

定价

对于 Azure Spring Apps 实例,费用基于可用计划之一:基本、标准或企业版。 在 Azure 容器应用中,定价取决于环境类型和所选工作负载配置文件。

环境类型

Azure 容器应用中有两种环境类型:Workload profileConsumption only。 创建 Azure 容器应用环境时,可以使用 --enable-workload-profiles 参数指定环境类型。 默认情况下,创建 --enable-workload-profiles 环境时,true 设置为 Workload profile。 如果将其设置为 false,则会创建 Consumption only 环境。

借助 Workload profile 环境,可以创建消耗和专用工作负载配置文件。

Consumption only 环境不支持创建工作负载配置文件。

有关不同类型的计费注意事项,可以在 Azure 容器应用环境类型部分找到详细信息。 如果计划使用自己的虚拟网络,请考虑下表中概述的差异:

环境类型 支持计划类型 说明
工作负载概况 消耗, 专用 支持用户定义的路由 (UDR)、通过 NAT 网关的流出量,以及在容器应用环境中创建专用终结点。 所需的最小子网大小为 /27
仅消耗 消耗 不支持用户定义的路由 (UDR)、通过 NAT 网关的流出量、通过远程网关的对等互连或其他自定义流出量。 所需的最小子网大小为 /23

有关详细信息,请参阅 Azure 容器应用环境

工作负载配置文件

如果选择创建 Workload profile 环境,则可以使用默认 Consumption 配置文件或创建额外的 Dedicated 配置文件来满足特定的应用程序要求。 下表对这些选项进行了说明:

配置文件类型 说明 可能的用途
消耗 自动添加到任何新环境。 无需特定硬件要求的应用。
专用(常规用途) 内存和计算资源之间的平衡。 需要大量 CPU 和/或内存的应用。
专用(内存优化) 增加了内存资源。 需要访问大型内存中数据、内存中机器学习模型或具有其他高内存要求的应用。
专用(已启用 GPU)(预览版) 在美国西部 3 和北欧区域提供了具有更多内存和计算资源的 GPU。 需要 GPU 的应用。

有关工作负载配置文件类型和大小的详细信息,请参阅 Azure 容器应用中工作负载配置文件配置文件类型部分。

估算成本

根据应用程序的资源要求,使用 Azure 定价计算器估算两种工作负载配置文件类型的成本。

考虑缩放配置和自动缩放触发器,因为它们会严重影响资源使用情况。

有关详细信息,请参阅 Azure 容器应用中的工作负载配置文件

维护

Azure 容器应用可确保在基础维护期间正常重启应用程序。 可以使用以下命令为应用环境设置维护时段:

az containerapp env maintenance-config add \
    --resource-group <RESOURCE_GROUP> \
    --environment <ENVIRONMENT_NAME> \
    --weekday Monday \
    --start-hour-utc 1 \
    --duration 8

与 Azure Spring Apps 中的计划内维护功能类似,可以在 Azure 容器应用中设置一周的天数、开始时间和持续时间(至少 8 小时)。 容器应用根据维护配置执行非关键更新。

注意

UTC 时间以 24 小时时间格式表示。 例如,如果希望开始时间是下午 1:00,则 start-hour-utc 值为 13。

Azure 容器应用保证维护在配置的维护时段内启动,但不保证维护在该时间范围内完成。

只有非关键更新才遵循配置的维护时段。 关键更新不会。

有关详细信息,请参阅 Azure 容器应用计划内维护

可靠性

可用性区域支持

在大多数区域中,Azure Spring Apps 和 Azure 容器应用在可用的区域中使用可用性区域。 有关支持可用性区域的区域列表,请参阅具有可用性区域支持的 Azure 服务。 无论计划类型如何,Azure 容器应用都提供相同的可靠性支持。

若要在 Azure 容器应用中启用可用性区域,需要在创建容器应用环境时指定具有可用子网的虚拟网络。 Azure Spring Apps 和 Azure 容器应用都使用相同的参数来启用区域冗余。 有关如何启用可用性区域详细信息,请参阅 Azure 容器应用中的可靠性

灾难恢复

Azure Spring Apps 和 Azure 容器应用采用统一的策略实现灾难恢复和业务连续性。 有关详细信息,请参阅 Azure 容器应用中可靠性跨区域灾难恢复和业务连续性部分。

已知限制

  • 启动/停止:使用 Azure Spring Apps 可以启动或停止整个服务实例或单个应用。 相比之下,Azure 容器应用仅在容器应用级别支持启动/停止功能,而不适用于整个环境。
  • 删除:删除 Azure Spring Apps 服务实例时,将自动删除所有基础资源。 相比之下,对于 Azure 容器应用,必须先删除子资源,例如在删除容器应用环境之前要删除所有容器应用。