Cloud/k8s-CKA

[CKA] 13. multiple scheduler

jinkwon.kim 2023. 3. 6. 19:35
728x90
반응형

개요

기본 scheduler가 아닌 사용자가 만든 scheduler를 생성 하고 사용하는 방법을 알아보겠습니다. 

사용 이유

GPT가 아래의 경우에 사용한다고 알려줌..(좋다 GPT)

  1. Resource allocation customization: Kubernetes의 기본 스케줄러는 Pod을 가용한 리소스 (예: CPU, 메모리)에 따라 스케줄링합니다. 그러나 애플리케이션의 특성에 따라 다른 스케줄링 로직이 필요할 수 있습니다. 예를 들어, Batch Job의 경우 스케줄러는 가능한 빨리 완료되어야 하므로 다른 스케줄링 알고리즘이 필요합니다. 이러한 경우 multiple scheduler를 사용하여 리소스 할당에 대한 다양한 사용자 정의 규칙을 적용할 수 있습니다.
  2. Isolation: Multiple scheduler를 사용하면 서로 다른 스케줄러를 사용하여 Pod을 분리할 수 있습니다. 이는 서로 다른 애플리케이션이나 팀에 속한 Pod을 분리하거나, 운영 및 개발 환경을 분리하는 데 도움이 됩니다.
  3. Fault tolerance: Multiple scheduler를 사용하면 하나의 스케줄러가 장애가 발생하여 동작하지 않을 때 다른 스케줄러가 Pod을 스케줄링할 수 있습니다. 이렇게 하면 전체 클러스터의 가용성이 향상됩니다.
  4. Policy enforcement: Multiple scheduler를 사용하면 각각의 스케줄러가 다른 정책을 적용할 수 있습니다. 예를 들어, Pod의 로깅을 강제로 활성화하는 스케줄러와 Pod의 로깅을 비활성화하는 스케줄러를 분리할 수 있습니다

생성 방법

https://kubernetes.io/ko/docs/tasks/extend-kubernetes/configure-multiple-schedulers/ 

 

다중 스케줄러 설정

쿠버네티스는 여기에서 설명한 스케줄러를 기본 스케줄러로 사용한다. 만일 기본 스케줄러가 사용자의 필요를 만족시키지 못한다면 직접 스케줄러를 구현하여 사용할 수 있다. 이에 더해, 기본

kubernetes.io

위 링크에서 제공하는 yaml 파일을 사용 하면 쉽게 만들수 있습니다. 

custom scheduler를 이용한 배포

schedulerName에 custom scheduler를 입력 하면 됩니다.

apiVersion: v1
kind: Pod
metadata:
  labels:
    app: custom-scheduler
  name: custom-scheduler-pod
spec:
  containers:
  - image: nginx
    name: label-pod-1
  schedulerName: my-scheduler

정리

scheduler를 사용자가 따로 설정 할 수있다.

Next Post

[CKA] 14. scheduler profile 설정

 

 

728x90
반응형

'Cloud > k8s-CKA' 카테고리의 다른 글

[CKA] 15. k8s Monitoring (METRIC SERVER) and log  (0) 2023.03.19
[CKA] 14. scheduler profile 설정  (0) 2023.03.07
[CKA] 12. Static Pod  (0) 2023.03.05
[CKA] 11. DaemonSet  (0) 2023.03.04
[CKA] 10. Namespace resource 제어 방법  (0) 2023.03.04