帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。
使用 EKS 自动模式控制将工作负载部署到 EC2 按需容量预留中
通过使用 EC2 按需容量预留(ODCR),您可以在特定可用区中为 Amazon EC2 实例预留计算容量达任意持续时间。使用 EKS 自动模式时,您可能想要控制是否将 Kubernetes 工作负载部署到这些预留实例上,以最大限度地利用预先购买的容量,或确保关键工作负载能够访问有保障的资源。
默认情况下,EKS 自动模式会在开放式 ODCR 中自动启动。但是,通过在 NodeClass 上配置 capacityReservationSelectorTerms
,您可以显式控制工作负载使用的 ODCR。使用已配置的 ODCR 预置的节点将具有 karpenter.sh/capacity-type: reserved
并优先于按需和竞价型节点。启用此功能后,EKS 自动模式将不再自动使用开放式 ODCR – 其必须由 NodeClass 显式选择,这样您就可以精确控制集群中的容量预留使用情况。
警告
如果在集群中的 NodeClass 上配置了 capacityReservationSelectorTerms
,则 EKS 自动模式将不再为集群中的任何 NodeClass 自动使用开放式 ODCR。
示例 NodeClass
apiVersion: eks.amazonaws.com/v1 kind: NodeClass spec: # Optional: Selects upon on-demand capacity reservations and capacity blocks # for EKS Auto Mode to prioritize. capacityReservationSelectorTerms: - id: cr-56fac701cc1951b03 # Alternative Approaches - tags: app: "my-app" # Optional owning account ID filter owner: "012345678901"
此示例 NodeClass 演示了两种选择 ODCR 的方法。第一种方法通过其 ID(cr-56fac701cc1951b03
)直接引用特定 ODCR。第二种方法使用基于标签的选择,目标是带有标签 Name: "targeted-odcr"
的 ODCR。您还可以选择按拥有预留的 Amazon 账户进行筛选,这在跨账户场景或使用共享容量预留时特别有用。