본문으로 건너뛰기

스케줄링


Node Selectors

Node Selectors

nodeSelector는 Kubernetes에서 특정 레이블을 가진 노드에 Pod를 배치하도록 강제하는 가장 기본적인 스케줄링 방법이다. 노드에 레이블을 설정하고 Pod에 nodeSelector를 추가함으로써 고사양 워크로드를 원하는 노드에 배치해 스케줄링을 제어할 수 있다. 본 문서는 nodeSelector 개념, 사용 방법, 예시 YAML, 그리고 레이블 설정 명령어까지 상세히 정리한다.

Kubernetes nodeSelectorKubernetes SchedulingNode label
자원 할당(Requst & Limits)

자원 할당(Requst & Limits)

Kubernetes 리소스 관리의 핵심 개념을 정리한 가이드입니다. CPU·메모리 단위, Resource Requests·Limits의 동작 원리, LimitRange 및 ResourceQuota 설정 방법, 그리고 실무에서 활용할 수 있는 최적의 리소스 사용 전략까지 상세히 설명합니다. CKA 준비 및 Kubernetes 운영 환경에서 Pod 스케줄링과 자원 관리의 이해도를 높이고 싶은 개발자에게 도움이 됩니다.

Kubernetes Resource ManagementK8s Resource RequestK8s Resource Limit
DaemonSets

DaemonSets

Kubernetes 클러스터 내의 모든 노드에 단 하나의 Pod를 배포하고 관리하는 워크로드 컨트롤러인 DaemonSet의 개념, 사용 사례, 그리고 스케줄링 원리를 알아봅니다. 노드 레벨 모니터링 에이전트, 로그 수집기, 네트워크 플러그인 등 필수 구성 요소를 안정적으로 운영하는 방법을 이해하고, Kubernetes 1.12 버전 이후 변경된 스케줄링 메커니즘을 확인하세요.

KubernetesDaemonSetKubernetes 스케줄링
Priority Classes

Priority Classes

Kubernetes PriorityClass는 워크로드 간 우선순위를 정의하여 중요한 Pod가 항상 스케줄링되도록 보장하는 기능이다. 이 글에서는 PriorityClass의 개념, 숫자 기반 우선순위 구조, Preemption 동작 방식, globalDefault 설정, 그리고 Pod에서 priorityClassName을 사용하는 방법을 상세히 설명한다. CKA 시험 준비 및 Kubernetes 스케줄링 최적화에 도움이 되는 실전 YAML 예제와 함께 PriorityClass의 핵심 개념을 쉽게 이해할 수 있다.

Kubernetes PriorityClassKubernetes preemptionKubernetets scheduling
다중 스케줄러

다중 스케줄러

Kubernetes 환경에서 기본 스케줄러로 해결할 수 없는 고급 스케줄링 요구를 충족하기 위한 Custom Scheduler 개념과 사용 사례를 상세히 설명합니다. GPU 실시간 부하 기반 스케줄링, 외부 시스템 상태를 고려한 스케줄링, 시간 기반 비용 최적화 스케줄링 등 실제 활용 예시를 포함하며, 바이너리 실행 방식과 Deployment 기반 배포 방식(권장 방식)의 차이를 명확히 정리합니다. 또한 ServiceAccount·RBAC·ConfigMap·Leader Election 구성 이유와, schedulerName을 통한 Pod 지정 방식까지 실무 중심으로 안내합니다.

Kubernetes Custom SchedulerKubernetes Muliple Scheduler쿠버네티스 커스텀 스케줄러
Scheduler Profile

Scheduler Profile

Kubernetes 1.18+에서 도입된 Scheduler Profile을 통해 Multi Scheduler의 운영 복잡도와 Race Condition 위험을 해결하는 방법을 알아보세요. Pod가 스케줄링되는 Filtering, Scoring, Binding 등 핵심 단계와 각 단계에 적용되는 Plugin 및 Extension Point를 상세히 비교하고, 단일 스케줄러 내에서 다양한 스케줄링 정책을 관리하는 모범 사례를 이해할 수 있습니다.

Kubernetes Scheduler ProfileKubernetes Scheduling FrameworkKubernetes 스케줄링 플러그인
Admission Controllers (2025 추가)

Admission Controllers (2025 추가)

Kubernetes Admission Controller는 API Server로 들어오는 요청을 검증·수정·차단하여 클러스터 보안과 정책 준수를 강화하는 핵심 기능이다. 최신 태그 금지, root 권한 방지, 기본 StorageClass 자동 지정 등 다양한 정책을 구현하며, 바이너리 실행 방식과 kubeadm 환경 모두에서 활성화할 수 있다. 본 문서는 Admission Controller의 개념, 활성화 방법, 스케줄러와의 연관성을 자세히 설명한다.

Kubernetes Admission ControllerAdmission Controller 활성화Kubernettets Admission Webhook