심플코더
간단한 코딩 공간
   

글쓰기    관리    수식입력
  • 분류 전체보기 (84)
    • AWS (1)
    • JavaScript (11)
    • 개인학습 (5)
    • DB (11)
    • OS (9)
    • Network (7)
    • DevOps (0)
    • TypeScript (1)
    • 개발 (1)
    • CKA (28)
hELLO · Designed By 정상우.
심플코더
CKA

(TIL) Kubernetes Manual Scheduling

CKA

(TIL) Kubernetes Manual Scheduling

Scheduler 없이 파드가 동작하는 방식

Kubernetes에서 Scheduler가 따로 설정되어있지 않는 경우, 기본적으로 kube-scheduler라는 컴포넌트가 파드를 어떤 노드에 배치할지 결정한다.
만약 클러스터에 스케줄러가 아예 없거나 비활성화 되어있는 경우, 파드는 Pending 상태로 멈춰있게된다.

Kubernetes 스케줄러의 내부 동작 방식

 

1. 파드가 생성된다. (처음 생성된 파드는 spec.nodeName이 비어있음)

2. kube-scheduler는 nodeName이 없는 파드를 감지

3. 스케줄링 알고리즘을 통해 적절한 노드를 선택

4. spec.nodeName에 선택된 노드의 이름을 설정

5. 내부적으로 Binding 객체를 생성하여 할당한다.

 

수동 스케줄링 방법

nodeName 필드를 직접 지정

파드 생성 시 nodeName 필드를 직접 지정하면 Kubernetes는 해당 노드에 파드를 배치한다.

apiVersion: v1
kind: Pod
metadata:
  name: nginx-manual
spec:
  containers:
    - name: nginx
      image: nginx
  nodeName: node1

 

Binding 객체로 수동 스케줄링

이미 만들어진 파드라면 nodeName을 수정할 수 없기 때문에 Binding 객체를 만들어 API로 직접 배정해야한다.

 

apiVersion: v1
kind: Binding
metadata:
  name: nginx-manual 
target:
  apiVersion: v1
  kind: Node
  name: node01

 

위 파일을 yaml 파일로 저장한 후 JSON으로 변환해야하며 kubernetes API를 직접 호출해 적용하면된다.

 

 

'CKA' 카테고리의 다른 글

(TIL) Taints and Tolerations  (0) 2025.03.25
(TIL) Kubernetes Labels & Selectors  (0) 2025.03.23
(TIL) kubectl apply의 내부 동작  (0) 2025.03.23
(TIL) Kubernetes의 imperative, declarative  (0) 2025.03.22
(TIL) Kubernetes namespace  (0) 2025.03.22
  • Scheduler 없이 파드가 동작하는 방식
  • Kubernetes 스케줄러의 내부 동작 방식
  • 수동 스케줄링 방법
  • nodeName 필드를 직접 지정
  • Binding 객체로 수동 스케줄링
'CKA' 카테고리의 다른 글
  • (TIL) Taints and Tolerations
  • (TIL) Kubernetes Labels & Selectors
  • (TIL) kubectl apply의 내부 동작
  • (TIL) Kubernetes의 imperative, declarative
심플코더
심플코더

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.