实现容器组

已完成

Azure 容器实例中的顶层资源是容器组。 容器组是安排在同一主机上的容器集合。 容器组中的容器共享生命周期、资源、本地网络和存储卷。

有关容器组的注意事项

让我们回顾一下有关 Azure 容器实例的容器组的一些详细信息。

  • 容器组类似于 Kubernetes 中的 Pod。 Pod 通常具有与容器的一对一映射,但一个 Pod 可以包含多个容器。 多容器 Pod 中的容器可以共享相关资源。

  • Azure 容器实例通过在多容器组中添加所有容器的资源请求,将资源分配给多容器组。 资源可以包括 CPU、内存和 GPU 等项。

    假设有一个容器组,其中包含两个容器,每个容器都需要 CPU 资源。 每个容器请求一个 CPU。 Azure 容器实例为容器组分配两个 CPU。

  • 部署多容器组有两种常用方法:Azure 资源管理器 (ARM) 模板或 YAML 文件。

    • ARM 模板。 部署容器实例时,建议使用 ARM 模板来部署其他 Azure 服务资源,例如 Azure 文件存储文件共享。

    • YAML 文件。 由于 YAML 格式的简洁性,当部署仅包括容器实例时,建议使用 YAML 文件。

  • 容器组可以共享面向外部的 IP 地址、该 IP 地址上的一个或多个端口,以及具有 FQDN 的 DNS 标签。

    • 外部客户端访问。 必须在 IP 地址和容器中公开端口,才能使外部客户端访问组中的容器。

    • 端口映射。 不支持端口映射,因为组中的容器共享端口命名空间。

    • 已删除的组。 删除容器组时,会释放其 IP 地址和 FQDN。

配置示例

请考虑以下具有两个容器的多容器组的示例。

描述具有两个容器的 Azure 容器实例多容器组的示意图。

多容器组具有以下特征和配置:

  • 容器组在单个主机上进行计划,并分配有 DNS 名称标签。
  • 容器组公开具有一个已公开端口的单个公共 IP 地址。
  • 组中的一个容器侦听端口 80。 另一个容器侦听端口 1433。
  • 该组包含两个 Azure 文件存储文件共享作为卷装载。 组中的每个容器在本地装载其中一个文件共享。

使用容器组时的注意事项

在想要将单个功能任务划分为多个容器映像时,多容器组会很有用。 这些映像可以由不同的团队交付并具有单独的资源需求。

请考虑以下方案来使用多容器组。 考虑哪些选项可以支持在线零售商的内部应用。

  • 考虑 Web 应用更新。 通过实现多容器组来支持对 Web 应用的更新。 组中的一个容器为 Web 应用提供服务,另一个容器从源代码管理中提取最新内容。

  • 考虑日志数据收集。 使用多容器组捕获有关应用的日志记录和指标数据。 应用程序容器输出日志和指标。 日志记录容器收集输出数据并将数据写入长期存储。

  • 考虑应用监视。 使用多容器组为应用启用监视。 监视容器会定期向应用程序容器发出请求,以确保应用正常运行并正确响应。 如果监视容器识别出应用可能存在的问题,则会引发警报。

  • 考虑前端和后端支持。 创建多容器组来保存前端容器和后端容器。 前端容器可以为 Web 应用提供服务。 后端容器可以运行服务来检索数据。