Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
클라우드/DevOps

DaemonSet의 Node Affinity: 노드-특정 데몬 배치 전략

DaemonSet에서 Node Affinity를 활용하여 클러스터의 특정 노드군에만 데몬 포드를 배치하는 메커니즘을 다룹니다. DaemonSet 컨트롤러가 필요한 노드를 판단하고 조건부 스케줄링을 구현하는 실무 아키텍처를 설명합니다.

2026.10.12  ·  0회  · 

DaemonSet과 Node Affinity의 관계

DaemonSet은 기본적으로 클러스터의 모든 노드에 포드를 배치하도록 설계되었습니다. 그러나 실무에서는 특정 하드웨어를 갖춘 노드, 특정 역할의 노드, 또는 특정 가용 영역의 노드에만 데몬을 실행해야 하는 경우가 빈번합니다. 이때 Node Affinity를 활용하면 더 세밀한 제어가 가능합니다.

DaemonSet 컨트롤러의 스케줄링 흐름

DaemonSet 컨트롤러는 먼저 spec.template.spec.affinity.nodeAffinity에 정의된 규칙을 검토하여 대상 노드를 결정합니다. 이후 각 적격 노드에 대해 포드를 생성하며, 컨트롤러는 생성된 포드의 nodeAffinity 필드를 해당 노드의 이름과 일치하도록 자동으로 대체합니다. 이렇게 수정된 포드는 기본 스케줄러가 인수받아 최종적으로 spec.nodeName 필드를 설정하여 노드에 바인딩합니다.

Hard 제약과 Soft 제약의 선택

Node Affinity는 두 가지 유형을 지원합니다. requiredDuringSchedulingIgnoredDuringExecution은 필수 조건으로 작동하며 조건을 만족하지 않는 노드에는 포드가 배치되지 않습니다. 반면 preferredDuringSchedulingIgnoredDuringExecution은 우선순위 기반이므로 조건을 만족하는 노드가 없어도 포드 배치를 시도합니다. 데몬의 중요도와 클러스터 상태에 따라 적절히 선택해야 합니다.

실무 고려사항

DaemonSet이 특정 노드에만 배치되도록 Affinity를 제한하면 그 외 노드에는 해당 데몬이 실행되지 않으므로 적격 노드 범위를 명확히 정의해야 합니다. 또한 노드 라벨 변경 시 DaemonSet은 즉시 반응하여 새로운 적격 노드에 포드를 추가하고 더 이상 조건을 만족하지 않는 노드에서 포드를 삭제합니다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원