수동 스케줄링
Kubernetes에서 nodeName 필드와 Binding 객체를 활용해 Pod를 특정 노드에 수동으로 스케줄링하는 방법을 자세히 설명합니다. kube-scheduler의 기본 동작 원리와 Scheduler가 없는 경우 Pod 상태가 Pending으로 남는 이유까지 함께 다룹니다.

Kubernetes에서 nodeName 필드와 Binding 객체를 활용해 Pod를 특정 노드에 수동으로 스케줄링하는 방법을 자세히 설명합니다. kube-scheduler의 기본 동작 원리와 Scheduler가 없는 경우 Pod 상태가 Pending으로 남는 이유까지 함께 다룹니다.

Kubernetes의 Labels와 Selectors 개념을 쉽게 설명한 가이드입니다. Label로 객체에 속성을 부여하고 Selector로 Pod, Service, ReplicaSet 등을 필터링하는 방법과 올바른 matchLabels 설정 기준을 명확히 정리했습니다. Annotation과의 차이까지 포함한 Kubernetes 메타데이터 이해에 도움이 되는 문서입니다.

Kubernetes의 Taints와 Tolerations 개념, 적용 방법, Taint 효과(NoSchedule·PreferNoSchedule·NoExecute) 차이, GPU 노드 활용 전략까지 한 번에 정리한 실전 가이드입니다. Pod 스케줄링 제어가 필요한 엔지니어에게 필수 개념을 쉽게 설명합니다.

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

Kubernetes Node Affinity 완전 정복: nodeSelector와의 차이, In·NotIn·Exists 등 주요 operator, required/preferred 타입별 동작, 실행 중(label 변경 시) 동작까지 상세하게 설명합니다. OR 조건 매칭 방식과 고급 스케줄링 개념을 YAML 예제와 함께 쉽게 이해할 수 있습니다.

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

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

Static Pod는 Kubernetes Control Plane 없이 Kubelet이 독립적으로 생성/관리하며, Control Plane 구성에 주로 사용됩니다. 동작 방식, Mirror Pod의 역할, 그리고 노드별 데몬 배포를 위한 DaemonSet과의 차이점을 자세히 알아보고, kubectl 조작 시 유의사항을 확인하세요.

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

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

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

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