

 **帮助改进此页面** 

要帮助改进本用户指南，请选择位于每个页面右侧窗格中的**在 GitHub 上编辑此页面**链接。

# 控制工作负载是否部署在 EKS 自动模式节点上
<a name="associate-workload"></a>

在启用 EKS 自动模式的 EKS 集群中运行工作负载时，您可能需要控制特定工作负载是在 EKS 自动模式节点上运行还是其他计算类型上运行。本主题介绍如何使用节点选择器和亲和性规则，来确保您的工作负载在需要的计算基础设施上调度。

本主题中的示例演示如何使用 `eks.amazonaws.com/compute-type` 标签要求或阻止在 EKS 自动模式节点上部署工作负载。这在同时运行 EKS 自动模式和其他计算类型（例如自主管理型 Karpenter 预置器或 EKS 托管式节点组）的混合模式集群中特别有用。

EKS 自动模式节点已将标签 `eks.amazonaws.com/compute-type` 的值设置为 `auto`。您可以使用此标签来控制是否将工作负载部署到由 EKS 自动模式管理的节点。

## 要求将工作负载部署到 EKS 自动模式节点
<a name="_require_a_workload_is_deployed_to_eks_auto_mode_nodes"></a>

**注意**  
此 `nodeSelector` 值对于 EKS 自动模式并非必需。此 `nodeSelector` 值仅当您在混合模式下运行集群，节点类型不由 EKS 自动模式管理时才重要。例如，您可以使用 EKS 托管式节点组将静态计算容量部署到集群，并使用由 EKS 自动模式管理的动态计算容量。

您可以将此 `nodeSelector` 添加到部署或其他工作负载中，以要求 Kubernetes 将其调度到 EKS 自动模式节点上。

```
apiVersion: apps/v1
kind: Deployment
spec:
  template:
    nodeSelector:
      eks.amazonaws.com/compute-type: auto
```

## 要求不将工作负载部署到 EKS 自动模式节点
<a name="_require_a_workload_is_not_deployed_to_eks_auto_mode_nodes"></a>

您可以将此 `nodeAffinity` 添加到部署或其他工作负载中，以要求 Kubernetes **不**将其调度到 EKS 自动模式节点上。

```
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: eks.amazonaws.com/compute-type
            operator: NotIn
            values:
            - auto
```