容器应用环境是围绕一个或多个容器应用和作业的安全边界。 容器应用运行时通过处理操作系统升级、扩展操作、故障转移程序和资源均衡来管理每个环境。
环境包括以下功能:
功能 / 特点 | DESCRIPTION |
---|---|
类型 | 容器应用环境有两种不同的类型:工作负载配置文件环境和仅消耗环境。 工作负载配置文件环境支持消耗计划和专用计划,而仅消耗环境仅支持消耗计划。 |
虚拟网络 | 每个环境都有虚拟网络支持,以强制实施其安全边界。 创建环境时,会为你创建具有 有限网络功能的 虚拟网络,也可以提供自己的网络功能。 添加 现有虚拟网络 可让你对网络进行精细控制。 |
多个容器应用 | 当多个容器应用位于同一环境中时,它们共享相同的虚拟网络,并将日志写入到相同的日志记录目标。 |
多服务集成 | 可以将 Azure Functions 和 Azure Spring Apps 添加到 Azure 容器应用环境。 |
根据需求,可能需要使用一个或多个容器应用环境。 使用以下条件来帮助你确定是否应使用单个或多个环境。
单个环境
如果希望实现以下目标,请使用单个环境:
- 管理相关服务
- 将不同的应用程序部署到同一虚拟网络
- 检测通过 Dapr 服务调用 API 进行通信的 Dapr 应用程序
- 在应用程序之间共享相同的 Dapr 配置
- 在应用程序之间共享相同的日志目标
多个环境
如果希望两个或多个应用程序执行以下作,请使用多个环境:
- 永远不要共享相同的计算资源
- 不通过 Dapr 服务调用 API 进行通信
- 由于团队或环境使用情况而被隔离(例如测试与生产)
类型
类型 | DESCRIPTION | 计划 | 计费注意事项 |
---|---|---|---|
工作负载配置文件 | 运行无服务器应用,支持缩减为零,你只需为应用与消耗配置文件一起使用的资源付费。 还可以使用自定义硬件运行应用,并使用专用工作负荷配置文件提高成本可预测性。 | 消耗与专用 | 可以选择使用单独的工作负荷配置文件在任一计划或两个计划下运行应用。 无论使用多少个工作负载配置文件,专用计划对整个环境的计划管理成本都是固定的。 专用计划的成本是可变的,具体取决于负载配置文件实例的数量以及分配给每个实例的资源。 有关详细信息,请参阅 计费。 |
仅消耗 | 运行支持缩放到零的无服务器应用,并仅为应用使用的资源付费。 | 仅消耗 | 仅针对单个容器应用及其资源使用情况计费。 使用容器应用环境无需成本。 |
日志
日志记录是监视和排查环境中运行的容器应用问题的重要组成部分。 Azure 容器应用环境通过与 Azure Monitor 和 Application Insights 集成提供集中式日志记录功能。
默认情况下,环境中的所有容器应用都会将日志发送到常见的 Log Analytics 工作区,从而更轻松地跨多个应用查询和分析日志。 这些日志包括:
- 容器
stdout
/stderr
流 - 容器应用缩放事件
- Dapr 挎斗日志(如果已启用 Dapr)
- 系统级指标和事件
日志配置属性
可以通过 API 在环境级别配置以下属性:
资产 | DESCRIPTION |
---|---|
properties.appLogsConfiguration |
用于配置 Log Analytics 工作区,其中发布环境中所有应用的日志。 |
properties.containerAppsConfiguration.daprAIInstrumentationKey |
提供给 Dapr 进行跟踪的 App Insights 检测密钥 |
策略
如果检测到以下条件之一超过 90 天,则会自动删除 Azure 容器应用环境:
- 处于空闲状态(环境中没有正在运行的活跃容器应用或作业)
- 由于 VNet 或 Azure Policy 配置而处于失败状态
- 由于 VNet 或 Azure Policy 配置而阻止基础结构更新
这些策略有助于确保高效的资源使用和维护服务质量。 防止自动删除:
- 确保你的环境中至少有一个活动的容器应用或作业正在运行
- 确保正确设置 VNet 和 Azure Policy 配置
- 响应有关环境处于有问题的状态的任何通知
可以通过 Azure Monitor 警报监视环境的状态,或者通过在 Azure 门户中定期检查环境状态或使用 Azure CLI 来实现。
限制和配额
了解容器应用环境的限制和配额有助于有效地规划应用程序体系结构。
资源 | 限度 | 注释 |
---|---|---|
每个环境的容器应用数 | 200 | 单个环境中的容器应用的最大数量 |
每个环境的容器应用修订版数 | 1000 | 环境中所有应用的修订总数 |
每个区域每个订阅的环境数 | 20 | 可以通过支持请求增加 |
每个容器的最大 CPU 数 | 4 个 vCPU(消耗型),根据工作负载配置文件而异 | 取决于环境类型和所选工作负载配置 |
每个容器的最大内存 | 16 GB(消耗量),因工作负荷类型而异 | 取决于环境类型和所选的工作负荷类型 |
每个容器应用的最大副本数 | 300 | 单个容器应用的最大横向扩展限制 |
最大入口请求超时 | 240 秒 | 对于通过入口的 HTTP 请求 |
有关最新的限制和配额,请参阅 Azure 容器应用服务限制。