AmazonFargate - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AmazonFargate

重要

此功能在中国区域中不可用。

本主题讨论如何使用 Amazon EKS 在上运行 Kubernetes PodAmazonFargate

AmazonFargate 是一种按需提供大小合适的计算容量的技术,可以用于容器。与AmazonFargate,您不必再预置、配置或扩展虚拟机组即可运行容器。这样一来,您就无需再选择服务器类型、确定扩展节点组的时间和优化集群打包。您可以控制哪些窗格从 Fargate 开始,以及它们如何使用Fargate 配置文件,它们被定义为 Amazon EKS 集群的一部分。

亚马逊 EKS 集成了库贝内特与AmazonFargate 过使用由Amazon使用 Kubernetes 提供的上游可扩展模型。这些控制器作为亚马逊 EKS 托管 Kubernetes 控制层面的一部分运行,负责将本机 Kubernetes Pod 安排到 Fargate。Fargate 控制器包括一个新的计划程序,该程序与默认 Kubernetes 计划程序一起运行,还包括若干转换和验证准入控制器。当您启动满足在 Fargate 上运行的条件的 Pod 时,集群中运行的 Fargate 控制器会识别、更新 Pod,并将其安排到 Fargate 上。

本主题介绍在 Fargate 上运行的 Pod 的不同组件,还列出了将 Fargate 与 Amazon EKS 结合使用时的特别注意事项。

AmazonFargate 注意事项

以下是在 Amazon EKS 上使用 Fargate 时要考虑的一些事项。

  • Amazon亚马逊 EKS Fargate 在除中国(北京)、中国(宁夏)以外的所有亚马逊 EKS 区域都可以使用。AmazonGovCloud(美国东部),以及AmazonGovCloud(美国西部)。

  • 在 Fargate 上运行的每个 Pod 都具有自己的隔离边界,不与其他 Pod 共享底层内核、CPU 资源、内存资源或 elastic network interface。

  • 网络负载均衡器和应用程序负载均衡器只能与具有 IP 目标的 Fargate 一起使用。有关更多信息,请参阅 创建网络负载均衡器Amazon EKS 上的 Application Load Balancing

  • 在安排它们时,Pod 必须匹配 Fargate 配置文件才能在 Fargate 上运行。与 Fargate 配置文件不匹配的 Pod 可能被作为Pending。如果存在匹配的 Fargate 配置文件,您可以删除已创建的待处理 Pod,以将它们重新安排到 Fargate。

  • 您只能使用窗格的安全组,如果您的集群是 1.18 平台版本,则在 Fargate 上运行容器eks.7或更高版本,1.19 与平台版本eks.5或更高版本,或 1.20 或更高版本。

  • Fargate 不支持守护程序集。如果您的应用程序需要守护程序,则应将该守护程序重新配置为在您的 Pod 中作为附加容器运行。

  • Fargate 不支持特权容器。

  • 在 Fargate 上运行的窗格无法指定HostPort或者HostNetwork在容器清单中。

  • 默认nofilenproc软限制为 1024,硬限制为 65535,对于 Fargate 胶囊,硬限制为 65535。

  • GPU 目前在 Fargate 上不可用。

  • 在 Fargate 上运行的容器仅在私有子网上受支持(使用 NAT 网关访问Amazon服务,但没有到 Internet Gateway 的直接路由),因此您的集群的 VPC 必须具有可用的私有子网。对于没有出站 Internet 访问的集群,请参阅私有集群

  • 您可以将Vertical Pod Autoscaler最初为 Fargate 窗格调整 CPU 和内存的大小,然后使用Horizontal Pod Autoscaler来缩放这些窗格。如果您希望垂直窗格自动缩放器自动将窗格重新部署到具有较大 CPU 和内存组合的 Fargate,请将垂直窗格自动缩放器模式设置为Auto或者Recreate以确保正确的功能。有关更多信息,请参阅 。Vertical Pod Autoscaler文档。

  • 必须为 VPC 启用 DNS 解析和 DNS 主机名。有关详细信息,请参阅查看和更新您的 VPC 的 DNS 支持

  • Fargate 在 VM 隔离的环境中运行每个 Pod,不与其他 Pod 共享资源。但是,由于 Kubernetes 是单租户编排工具,Fargate 不能保证 Pod 级的安全隔离。您应该使用单独的 Amazon EKS 集群运行需要完全安全隔离的敏感工作负载或不可靠的工作负载。

  • Fargate 配置文件支持从 VPC 辅助 CIDR 块指定子网。您可能需要指定辅助 CIDR 块,因为子网中可用的 IP 地址数量有限。因此,可在集群中创建的 Pod 数量受到限制。对 Pod 使用不同的子网将允许您增加可用 IP 地址的数量。有关更多信息,请参阅向 VPC 中添加 IPv4 CIDR 块

  • Amazon EC2 实例元数据服务 (IMDS) 不可用于部署到 Fargate 节点的 Pod。如果您在 Fargate 部署了需要 IAM 证书的窗格,请使用服务账户的 IAM 角色。如果您的窗格需要访问通过 IMDS 提供的其他信息,例如将容器部署到的区域或可用区,则必须将此信息硬编码到您的容器规范中。

  • 您不能将 Fargate Pod 部署到Amazon Outposts、Amazon Wavelength或者AmazonLocal Zones。