Certified Kubernetes Administration - 7

2024-06-19

  • Kubernetes
  • Cloud

kube-scheduler의 역할 및 설치 방법

  • kube-scheduler 역할:

    • 파드를 노드에 스케줄링하는 책임

    • 파드를 실제로 노드에 배치하는 것은 kubelet의 역할

    • 스케줄러는 어떤 파드가 어떤 노드에 배치될지 결정

  • 스케줄러의 작동 방식:

    • 필요성:

      • 여러 노드와 여러 파드가 있을 때, 올바른 파드를 올바른 노드에 배치하는 것이 중요

      • 각 노드의 용량과 파드의 리소스 요구사항을 고려

    • 단계:

      1. 필터링 단계:

        • 파드의 CPU 및 메모리 요구사항을 충족하지 못하는 노드를 필터링

        • 예: 두 개의 작은 노드를 제외하고 두 개의 노드가 남음

      2. 우선순위 결정 단계:

        • 남은 노드들 중에서 가장 적합한 노드를 선택

        • 우선순위 함수로 노드에 점수를 매김 (0에서 10까지)

        • 예: 파드를 배치한 후 더 많은 리소스를 갖는 노드가 더 높은 점수를 받음

    • 커스터마이징 가능:

      • 스케줄러를 사용자 정의하거나 직접 작성 가능

      • 리소스 요구사항, 제한, taints와 tolerations, 노드 선택기, affinity 규칙 등 다양한 주제 존재

      • 후속 강의에서 자세히 다룰 예정

kube-scheduler 설치 및 설정 방법

  • 설치 방법:

    • Kubernetes 릴리스 페이지에서 kube-scheduler 바이너리 다운로드

    • 추출 후 서비스로 실행

    • 실행 시 스케줄러 설정 파일 지정

kube-scheduler 옵션 확인 방법

  • kubeadm 사용 클러스터:

    • kube-system 네임스페이스의 파드로 배포됨

    • /etc/kubernetes/manifest 폴더에 있는 파드 정의 파일에서 옵션 확인

  • 직접 설정한 클러스터:

    • 마스터 노드에서 실행 중인 프로세스를 나열하여 kube-scheduler 검색

요약

  • kube-scheduler는 Kubernetes에서 파드를 적절한 노드에 배치하는 역할을 담당

  • 스케줄러는 필터링과 우선순위 결정을 통해 최적의 노드를 선택

  • 설치 및 설정 방법은 클러스터 설정 방식에 따라 다르며, 다양한 설정 옵션을 통해 스케줄러를 맞춤 설정할 수 있음

이로써 kube-scheduler의 역할과 설정 방법에 대해 이해할 수 있습니다.

Certified ...

Certified ...