Kube-Scheduler

2024. 12. 12. 11:55쿠버네티스/쿠버네티스

728x90
반응형

1. Kube-Scheduler 개요

  • 역할: 파드를 적절한 노드에 스케줄링(할당)하는 역할.
    • 스케줄러는 파드의 위치를 결정하지만, 실제로 파드를 노드에 배치하는 작업은 kubelet이 수행.
  • 필요성: 클러스터 내에서 적절한 리소스와 조건을 가진 노드에 파드를 배치하여 효율적인 자원 관리를 보장.

2. Kube-Scheduler 작동 방식

스케줄링 과정

  1. 1단계: 필터링 (Filtering)
    • 파드의 요구 사항(CPU, 메모리 등)을 충족하지 못하는 노드를 제외.
    • 예시: CPU와 메모리가 부족한 노드는 필터링되어 제외됨.
    • 결과적으로, 파드를 배치할 수 있는 후보 노드만 남음.
  2. 2단계: 랭킹 (Ranking)
    • 후보 노드들 중에서 가장 적합한 노드를 선택.
    • 우선순위 함수(Priority Function)를 사용하여 각 노드에 점수를 부여(0~10).
    • 예시: 파드를 배치한 후 남는 리소스가 많은 노드가 더 높은 점수를 받음.

예시

  • 큰 파드(파란색)가 CPU와 메모리 요구 사항을 가짐.
  • 필터링 후 두 개의 적합한 노드가 남음.
  • 랭킹 결과:
    • 첫 번째 노드는 2개의 CPU가 남음.
    • 두 번째 노드는 6개의 CPU가 남음 → 더 높은 점수를 받아 선택됨.

3. 스케줄링 커스터마이징

  • 스케줄러는 기본 동작 외에도 사용자 정의가 가능.
  • 사용자 정의 스케줄러를 작성하여 특정 요구 사항에 맞게 동작하도록 설정 가능.

4. 관련 추가 개념 (추후 강의에서 다룰 예정)

  • 리소스 요구사항 및 제한(Resource Requests & Limits): 파드가 요청하거나 사용할 수 있는 자원의 양.
  • Taints와 Tolerations: 특정 노드에 파드를 제한적으로 배치하거나 제외시키는 규칙.
  • Node Selectors: 특정 레이블이 있는 노드에만 파드를 배치하는 규칙.
  • Affinity Rules: 파드 간의 친화성 또는 반감성을 기반으로 배치 규칙 설정.

5. Kube-Scheduler 설치 및 설정

설치 방법

  1. Kubernetes 릴리스 페이지에서 kube-scheduler 바이너리 다운로드.
  2. 압축을 풀고 서비스를 실행.
  3. 실행 시 스케줄러 구성 파일을 지정하여 설정.

설정 확인 방법

  • Kubeadm 기반 클러스터:
    • kube-scheduler는 마스터 노드의 kube-system 네임스페이스에 POD로 배포됨.
    • 설정 파일 위치: /etc/kubernetes/manifests/ 디렉토리 내 POD 정의 파일.
  • 실행 중인 프로세스 확인:
    • 마스터 노드에서 실행 중인 프로세스를 나열하여 kube-scheduler와 관련된 옵션 확인 가능.

6. 주요 참고 사항

  • Kube-Scheduler는 Kubernetes 클러스터의 효율적인 자원 관리와 안정성을 유지하는 핵심 구성 요소.
  • 필터링과 랭킹 과정을 통해 최적의 노드를 선택하며, 사용자 정의를 통해 다양한 요구사항을 충족할 수 있음.

 

 

https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests

https://toberich.co.kr/entry/Kube-Scheduler-Kubelet-Kube-Proxy-Certified-Kubernetes-AdministratorCKA#google_vignette

 

Kube Scheduler / Kubelet / Kube Proxy - Certified Kubernetes Administrator(CKA)

본 게시글은 CKA 취득 위해 공부한 내용 정리하기 위해 작성한 글이며 첨부한 자료 및 내용은 Udemy에서 제공하는 CKA강의를 활용하였습니다. (www.udemy.com/course/certified-kubernetes-administrator-with-practice-t

toberich.co.kr

 

https://velog.io/@2214yj/CKA-7%EC%9D%BC%EC%B0%A8

 

CKA-7일차

📍 CKA 7일차📍 Udemy-Certified Kubernetes Administrator (CKA) with Practice Tests 76-93앞에서 스케줄러가 노드에 걸쳐 파드를 고르게 분배하는 알고리즘을 가지고 있다는 것을 배웠다.스케줄러는 Taints,

velog.io

 

반응형

'쿠버네티스 > 쿠버네티스' 카테고리의 다른 글

Kube-Proxy  (0) 2024.12.12
Kubelet  (1) 2024.12.12
Kube Controller Manager  (0) 2024.12.12
Kube-API Server 개요  (1) 2024.12.12
ETCDCTL API 버전별 명령어  (0) 2024.12.12