Taints and Tolerations VS Node Affinity

Watermelon·2026년 1월 29일

CKA 학습 과정

목록 보기
32/35

Taints and Tolerations

Taint는 노드에 설정되어 특정 파드의 스케줄링 제한
Toleration은 파드에 설정되어 해당 Taint를 허용

노드에 Taint가 있으면,
해당 Taint를 toleration 하지 않은 파드는 스케줄링되지 않음

NoExecute 효과가 설정된 경우,
이미 실행 중인 파드도 퇴출(Evict)될 수 있음

  • 노드 중심의 제어 방식
  • 강제성이 높음
  • 노드 보호 및 격리에 사용됨

2. Node Affinity

Node Affinity는 파드가 배치될 노드를 선택하기 위한 조건

파드는 노드의 label을 기준으로 배치 조건을 정의한다.

requiredDuringSchedulingIgnoredDuringExecution
→ 조건을 만족하지 않으면 스케줄링되지 않음
preferredDuringSchedulingIgnoredDuringExecution
→ 조건을 만족하는 노드를 우선적으로 선택

  • 파드 중심의 제어 방식
  • 배치 전략 수립에 사용됨
  • 실행 중인 파드에는 영향 없음

3. 차이점

  • Taints & Tolerations
    • 설정 위치: 파드
    • 제어 기준: 노드의 Taint
    • 기본 목적: 파드 접근 제한
    • 실행 중 영향: NoExecute에 한해서 영향 있음
  • Node Affinity
    • 설정 위치: 파드
    • 제어 기준: 노드의 Label
    • 기본 목적: 파드 배치 선택
    • 실행 중 영향: 없음

4. 함께 사용하는 경우 이점

Taint로 노드 접근을 제한
Toleration으로 허용 대상을 명시
Node Affinity로 배치 대상을 세부적으로 선택

파드는 의도한 노드에만 배치

profile
많은 경험을 해보고자 하는

0개의 댓글