你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
注意
基本计划、标准计划和企业计划于 2025 年 3 月 17 日进入停用期。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
标准消耗和专用计划于 2024 年 9 月 30 日进入停用期,并将在 2025 年 3 月底之前完全关闭。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用。
本文适用于: 基本/标准 ✅ 企业
本文概述了 Azure 容器应用创建过程中的注意事项。
在 Azure Spring Apps 中,应用程序部署在服务实例中,该实例提供完全托管的平台。 同样,在 Azure 容器应用中,容器应用是在 Azure 容器应用环境中创建的,该环境充当应用程序的基础主机。 虽然这两种服务都提供托管环境,但它们在各种方面有所不同,例如定价模型、维护、区域支持和管理操作。 本文探讨这些差异,并提供有关创建和管理 Azure 容器应用环境的指南。
先决条件
- 一个有效的 Azure 订阅。 如果没有帐户,可以创建一个免费 Azure 帐户。
- Azure CLI。
Microsoft.App
资源提供程序已注册到 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 profile
和 Consumption 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 容器应用,必须先删除子资源,例如在删除容器应用环境之前要删除所有容器应用。