EKS Kubernetes CronJob의 노드 분산 원리: 스케줄러 점수 기반 배치 완전 이해하기

✅ 본문 요약 (개요 흐름) 💡 핵심 질문 EKS CronJob은 LB가 없이 어떻게 노드에 분산되는가?스케줄러는 어떤 기준으로 점수를 계산해 Pod을 배치하는가? ✅ Kubernetes 스케줄러의 2단계 배치 알고리즘 ✅ 점수 산정에 사용되는 주요 요소들 기준 설명 preferred nodeAffinity 특정 라벨 가진 노드를 선호 → 점수 +10~+100 podAntiAffinity 동일한 app의 Pod이 있으면 더 읽기

Kubernetes CronJob에서 soft affinity와 podAntiAffinity의 실제 작동 방식과 노드 분산 전략 이해하기

✅ 실전 운영 중 발생 가능한 핵심 질문들 ✅ 핵심 개념 요약 개념 요약 preferredDuringSchedulingIgnoredDuringExecution soft 조건이므로 만족하지 않으면 무시하고 실행 podAntiAffinity 기준 라벨 Pod 템플릿 내 template.metadata.labels 기준 Completed, Terminating 상태 anti-affinity 대상에 포함됨 (Pod 리소스 살아 있으면 영향 줌) TTLSecondsAfterFinished Pod을 자동 GC 처리해 anti-affinity 영향 최소화 동일 더 읽기

Kubernetes에서 CronJob 병렬 실행 없이 노드 그룹(batch-alpha 등) 내 분산 처리하기: rotate-group 기반 전략

📌 문제 개요 대규모 Kubernetes 클러스터에서 수백 개의 CronJob이 실행되며, 각 Job은 반드시 특정 태그(group=batch-alpha, group=batch-beta, group=batch-gamma)를 갖는 노드 풀에서만 실행되어야 합니다. 가장 중요한 요구사항은 동시에 병렬 실행이 절대로 발생해서는 안 된다는 점입니다. 📌 일반적인 접근 방식의 한계 📌 최종 채택한 전략 요약 📌 실제 구성 요소 1. CronJob YAML 더 읽기