

 **이 페이지 개선에 도움 주기** 

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 **GitHub에서 이 페이지 편집** 링크를 선택합니다.

# 전용 인스턴스에서 핵심 추가 기능 실행
<a name="critical-workload"></a>

이 주제에서는 EKS Auto Mode가 `system` 노드 풀에 워크로드를 예약하도록 `CriticalAddonsOnly` 허용 오차가 있는 워크로드를 배포하는 방법을 알아봅니다.

EKS Auto Mode의 내장 `system` 노드 풀은 전용 인스턴스에서 핵심 추가 기능을 실행하도록 설계되었습니다. 이러한 분리를 통해 필수 구성 요소에 전용 리소스가 있고 일반 워크로드에서 격리되어 전반적인 클러스터 안정성과 성능이 향상됩니다.

이 가이드는 `CriticalAddonsOnly` 허용 및 적절한 노드 선택기를 활용하여 `system` 노드 풀에 추가 기능을 배포하는 방법을 보여줍니다. 이러한 단계를 따르면 EKS Auto Mode의 특수 노드 풀 구조에서 제공하는 격리 및 리소스 할당 이점을 활용하여 핵심 애플리케이션이 전용 `system` 노드로 예약되게 할 수 있습니다.

EKS Auto Mode에는 `general-purpose` 및 `system`이라는 기본 제공 노드 풀 2개가 있습니다. 자세한 내용은 [내장 NodePools 활성화 또는 비활성화](set-builtin-node-pools.md) 단원을 참조하십시오.

`system` 노드 풀의 목적은 핵심 추가 기능을 서로 다른 노드로 분리하는 것입니다. `system` 노드 풀에서 프로비저닝한 노드에는 `CriticalAddonsOnly` Kubernetes 테인트가 있습니다. Kubernetes는 해당 허용이 있는 경우에만 이러한 노드에 포드를 예약합니다. 자세한 내용은 Kubernetes 설명서의 [테인트와 허용 오차](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)를 참조하세요.

## 사전 조건
<a name="_prerequisites"></a>
+ EKS Auto Mode 클러스터는 내장 `system` 노드 풀이 활성화되어 있습니다. 자세한 내용은 [내장 NodePools 활성화 또는 비활성화](set-builtin-node-pools.md) 단원을 참조하세요.
+  `kubectl`을 설치하고 구성했습니다. 자세한 내용은 [Amazon EKS를 사용하도록 설정](setting-up.md) 단원을 참조하십시오.

## 절차
<a name="_procedure"></a>

아래 예제 yaml을 검토합니다. 다음 구성에 유의하세요.
+  `nodeSelector`-워크로드를 내장 `system` 노드 풀과 연결합니다. 이 노드 풀은 AWS API로 활성화해야 합니다. 자세한 내용은 [내장 NodePools 활성화 또는 비활성화](set-builtin-node-pools.md) 단원을 참조하십시오.
+  `tolerations`-이 허용 오차는 `system` 노드 풀의 노드에 있는 `CriticalAddonsOnly` 테인트를 극복합니다.

```
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sample-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: sample-app
  template:
    metadata:
      labels:
        app: sample-app
    spec:
      nodeSelector:
        karpenter.sh/nodepool: system
      tolerations:
      - key: "CriticalAddonsOnly"
        operator: "Exists"
      containers:
      - name: app
        image: nginx:latest
        resources:
          requests:
            cpu: "500m"
            memory: "512Mi"
```

`system` 노드 풀에서 실행할 워크로드를 업데이트하려면 다음을 수행해야 합니다.

1. 기존 워크로드를 업데이트하여 위에 설명된 다음 구성을 추가합니다.
   +  `nodeSelector` 
   +  `tolerations` 

1. `kubectl apply`를 사용하여 업데이트된 워크로드를 클러스터에 배포합니다.

워크로드를 업데이트하면 전용 노드에서 실행됩니다.