CKA SimB - Q9 Scheduler 종료 및 수동 스케줄링

1 개요[ | ]

Kubernetes 스케줄러 중지 및 수동 스케줄링 실습
  • 스케줄러를 중지하면 Pod는 Pending 상태로 대기하게 됨
  • 이 상태에서 kubectl 명령을 통해 수동으로 노드에 Pod를 바인딩할 수 있음
  • 이 문서에서는 스케줄러를 중지하고, 특정 노드에 수동으로 Pod를 스케줄링하는 방법을 실습

2 스케줄러 중지[ | ]

  • control-plane 노드에서 kube-scheduler Pod 중지
# k -n kube-system delete pod -l component=kube-scheduler
pod "kube-scheduler-ckaXXXX" deleted

3 Pending 상태 확인[ | ]

  • 새로운 Pod 생성 시 스케줄되지 않고 Pending 상태가 됨
# k run manual-pod --image=nginx:1-alpine
# k get pod manual-pod
NAME          READY   STATUS    RESTARTS   AGE
manual-pod    0/1     Pending   0          10s

4 수동 스케줄링: Binding 리소스 생성[ | ]

  • Pending 상태인 Pod를 수동으로 노드에 바인딩하기 위해 Binding 리소스를 작성
apiVersion: v1
kind: Binding
metadata:
  name: manual-pod
target:
  apiVersion: v1
  kind: Node
  name: ckaXXXX-node1
  • 바인딩 적용
# k create -f binding.yaml

5 결과 확인[ | ]

  • Pod가 지정된 노드에서 Running 상태가 됨
# k get pod -o wide
NAME          READY   STATUS    RESTARTS   AGE   NODE
manual-pod    1/1     Running   0          1m    ckaXXXX-node1

6 kube-scheduler 복원[ | ]

  • 스케줄러가 다시 작동하도록 원래의 static Pod 복원 또는 kubelet 재시작
  • static Pod 파일 위치 예시: /etc/kubernetes/manifests/kube-scheduler.yaml

7 핵심 요약[ | ]

  • 스케줄러가 없으면 Pod는 Pending 상태로 남음
  • Binding 오브젝트를 사용해 수동으로 노드에 Pod를 스케줄링할 수 있음
  • 스케줄러 복구 시 다시 자동 스케줄링 기능이 작동됨
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}