섹션3-1: Scheduling - Manual Scheduling

aeiou·2022년 2월 23일
0

Udemy-CKA

목록 보기
1/6

스케줄링 작동원리

  • NodeName은 쿠버네티스가 자동적으로 추가해줌
  • Scheduler는 모든 pod을 훑어보고, NodeName이 지정되지 않은것을 찾아봄
  • 스케줄링 알고리즘 실행하여 Pod이 적절한 Node를 식별해줌
  • 적절한 Node가 식별되면 Node에서 Binding object를 생성하고, NodeName속성을 설정함으로써 Pod을 예약함

Scheduler 없다면?!

  • 만약에 cluster에 Scheduler 가 없다면?
  • Pending 상태이고, 직접 YAML파일에 NodeName 설정함

Pod이 이미 생성되었다면?!

  • Pod 이 이미 생성되었고, node를 할당하길 윈한다면?
  • K8s는 중간에 NodeName 수정을 허락하지 않음
  • Binding object(Pod-bind-definition.yaml)를 생성해서 API가 binding된 POST request를 보내준다. ????
  • 즉, 스케줄러가 하는일을 흉내 내면됨

단, curl 명령어를 사용할 땐 YAML 파일을 JSON포맷으로 변환시켜줘야 한다.

curl --header "Content-Type:Application/json" --request POST --data '{"apiVersion":"v1", "kind": ~ ~}'

출처: Udemy CKA

0개의 댓글