实现容器组
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。
配置示例
请考虑以下具有两个容器的多容器组的示例。
多容器组具有以下特征和配置:
- 容器组在单个主机上进行计划,并分配有 DNS 名称标签。
- 容器组公开具有一个已公开端口的单个公共 IP 地址。
- 组中的一个容器侦听端口 80。 另一个容器侦听端口 1433。
- 该组包含两个 Azure 文件存储文件共享作为卷装载。 组中的每个容器在本地装载其中一个文件共享。
使用容器组时的注意事项
在想要将单个功能任务划分为多个容器映像时,多容器组会很有用。 这些映像可以由不同的团队交付并具有单独的资源需求。
请考虑以下方案来使用多容器组。 考虑哪些选项可以支持在线零售商的内部应用。
考虑 Web 应用更新。 通过实现多容器组来支持对 Web 应用的更新。 组中的一个容器为 Web 应用提供服务,另一个容器从源代码管理中提取最新内容。
考虑日志数据收集。 使用多容器组捕获有关应用的日志记录和指标数据。 应用程序容器输出日志和指标。 日志记录容器收集输出数据并将数据写入长期存储。
考虑应用监视。 使用多容器组为应用启用监视。 监视容器会定期向应用程序容器发出请求,以确保应用正常运行并正确响应。 如果监视容器识别出应用可能存在的问题,则会引发警报。
考虑前端和后端支持。 创建多容器组来保存前端容器和后端容器。 前端容器可以为 Web 应用提供服务。 后端容器可以运行服务来检索数据。