Kube-Scheduler
2024. 12. 12. 11:55ㆍ쿠버네티스/쿠버네티스
728x90
반응형
1. Kube-Scheduler 개요
- 역할: 파드를 적절한 노드에 스케줄링(할당)하는 역할.
- 스케줄러는 파드의 위치를 결정하지만, 실제로 파드를 노드에 배치하는 작업은 kubelet이 수행.
- 필요성: 클러스터 내에서 적절한 리소스와 조건을 가진 노드에 파드를 배치하여 효율적인 자원 관리를 보장.
2. Kube-Scheduler 작동 방식
스케줄링 과정
- 1단계: 필터링 (Filtering)
- 파드의 요구 사항(CPU, 메모리 등)을 충족하지 못하는 노드를 제외.
- 예시: CPU와 메모리가 부족한 노드는 필터링되어 제외됨.
- 결과적으로, 파드를 배치할 수 있는 후보 노드만 남음.
- 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 설치 및 설정
설치 방법
- Kubernetes 릴리스 페이지에서 kube-scheduler 바이너리 다운로드.
- 압축을 풀고 서비스를 실행.
- 실행 시 스케줄러 구성 파일을 지정하여 설정.
설정 확인 방법
- 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
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 |