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

Azure 容器应用的管理和操作 - 登陆区域加速器

查看可用于帮助设计和维护应用的 Azure 容器应用的功能和服务,以确保长期运行状况和稳定性。

  • 了解容器应用 限制

  • 考虑在网络、计算、监视或数据级别隔离工作负荷。

  • 了解控制工作负荷的资源消耗的方法。

  • 使用运行状况探测帮助报告和从应用程序运行状况恶化中恢复。

  • 使用 Dapr 建立与外部服务的安全连接。

  • 使用日志记录和监视来深入了解与应用程序关联的任何问题。

  • 在关键应用程序和系统事件期间使用 警报 来确保运营人员可以在事件应用程序故障中快速采取措施。

  • 定义缩放策略,以确保有足够的容量可用于处理发到应用程序的流量,同时最大程度地减少未使用的容量。 缩放触发器包括 CPU 或内存使用情况,以及任何 KEDA 支持的缩放程序。

  • 熟悉 Envoy,因为 Azure 容器应用将其用作 网络代理

  • 请注意有关业务连续性和灾难恢复的恢复时间目标(RTO)和恢复点目标(RPO)要求。 为基础结构和应用程序定义服务级别协议(SLA)。 了解 Azure 容器应用的 SLA。 有关每月运行时间计算的信息,请参阅 SLA 详细信息部分。

  • 根据应用程序的特定要求,可能需要使用高可用性措施来确保在基础 Azure 平台出现问题时继续操作。 在 Azure 中,可以使用各种区域和区域构建高可用性解决方案:

    • 可用性区域是 Azure 数据中心设计中的故障隔离构造。 每个区域都有自己的电源、网络和冷却,以最大程度地减少跨区域分布的中断的可能性。 若要使用可用性区域,可将每个 Azure 资源部署到特定区域(“区域”)或所有区域(“区域冗余”)。

    • 多区域解决方案提供最高级别的故障隔离和最高可靠性,但由于地理区域之间的延迟较高,通常更难以实现。 此延迟可能会导致数据副本 (replica)延迟。 有关多区域设计的详细信息,请参阅 Azure Mission Critical 文档

  • 请考虑使用 Azure DevOps 和 GitHub 提供管理开发、生成和部署过程的自动化方法。

建议

  • 按环境隔离:为完全资源隔离创建不同的容器应用环境。 避免使用修订来创建特定于租户的容器应用。 有关详细信息,请参阅 多租户解决方案中的 Azure 容器应用。

  • 使用计算资源的限制:使用 容器 CPU 和内存资源请求限制 来管理环境中的计算和内存资源。 容器默认限制分别为 2 个 vCPU 和 4 GiB,分别用于计算和内存。

  • 使用运行状况探测:将运行状况探测添加到容器应用。 确保修订包含livenessProbereadinessProbestartupProbe。 有关详细信息,请参阅 Azure 容器应用运行状况探测

  • 正确配置运行状况探测:运行状况探测负责调用终结点,并且预期在系统处于正常状态时,通常会在 HTTP 2xx 范围内接收成功状态代码。 建议此终结点不仅在系统的运行状况上执行检查,而且还对关键下游组件的运行状况(如数据库、存储和消息传送服务)执行。 为防止连续级联的运行状况检查,请务必在短时间内实现下游运行状况响应的缓存。

  • 广泛记录:创建 Log Analytics 查询以查找警告、错误和关键消息。

    • 应用程序日志 由容器控制台输出 (stdout/stderr) 消息生成。 启用 Dapr 后,控制台输出包含应用程序容器和 Dapr sidecar 消息。 查看 日志监视 ,详细了解如何使用日志分析查询日志。

    • 系统日志 由 Azure 容器应用生成。

  • 启用视觉跟踪:启用 Dapr 时,请在 ACA 环境级别配置“DaprAIInstrumentationKey”,以便在 Azure 应用程序 Insights 应用程序映射中可视化容器应用分布式跟踪。

  • 使用 Application Insights SDK:尚不支持将 Application Insights SDK 用于应用程序数据,因为 尚不支持自动检测代理

  • 使用可用性区域:如果需要高可用性,请对所有资源使用可用性区域。 确保不仅容器应用是区域冗余的,而且是满足请求所需的相邻服务,例如数据库、存储和消息传送服务。

  • 使用分布式副本 (replica):出于灾难恢复(DR)目的,请确保应用程序数据和源代码在多个 Azure 区域中可用。 例如,Azure 存储帐户允许异地副本 (replica)存储和Azure SQL 数据库允许将读取副本 (replica)放置在其他区域中。

  • 自动化生成:使用端到端自动化来生成和部署 Azure 容器应用应用程序。

  • 使用容器注册表:将容器映像存储在Azure 容器注册表,并将注册表异地副本 (replica)到每个 ACA 区域。

  • 测试灾难恢复计划:使用关键故障方案定期创建和测试灾难恢复计划。 有关详细信息,请参阅 测试备份和灾难恢复