개발강의정리/DevOps

[데브옵스를 위한 쿠버네티스 마스터] 쿠버네티스 핵심 개념-Kube 시스템 컴포넌트

nineDeveloper 2020. 9. 20.
728x90

쿠버네티스 핵심 개념

Kube 시스템 컴포넌트

Kube API 서버

  • 쿠버네티스 시스템 컴포넌트는 오직 API 서버와 통신
  • 컴포넌트끼리 서로 직접 통신 X
  • 때문에 etcd와 통신하는 유일한 컴포넌트 API 서버
  • RESTful API를 통해 클러스터 상태를 쿼리,수정할 수 있는 기능 제공
API 서버의 구체적인 역할
  • 인증 플러그인을 사용한 클라이언트 인증
  • 권한 승인 플러그인을 통한 클라이언트 인증
  • 승인 제어 플러그인을 통해 요청 받은 리소스를 확인/수정
  • 리소스 검증 및 영구 저장

Kube 컨트롤러 매니저

  • API 궁극적으로 아무 역할을 하지 않음
  • 컨트롤러에는 다양한 컨트롤러가 존재
  • 이 컨트롤러는 API에 의해 받아진 요청을 처리하는 역할
    • 레플리케이션 매니저(레플리케이션컨트롤러)
    • 레플리카셋, 데몬셋, 잡 컨트롤러
    • 디플로이먼트 컨트롤러
    • 스테이트풀셋 컨트롤러,
    • 노드 컨트롤러
    • 서비스 컨트롤러
    • 엔드포인트 컨트롤러
    • 네임스페이스 컨트롤러
    • 영구 볼륨 컨트롤러
    • etc

Kube 스케줄러

  • 일반적으로 실행할 노드를 직접 정해주지 않음
  • 요청 받은 리소스를 어느 노드에 실행할지 결정하는 역할
  • 현재 노드의 상태를 점검하고 최상의 노드를 찾아 배치
  • 다수의 포드를 배치하는 경우에는 라운드로빈을 사용하여 분산

쿠버네티스 주요 컴포넌트 확인하기

kubectl get pod -n kube-system

쿠버네티스 설정 파일 확인하기

  • 일반적으로 리눅스에 설치하면 /etc/kubernetes/manifest 에 설정 파일 존재
  • GCP의 경우에는 /home/kube/manifests/Kubernetes/gci-trusty 에 설정 파일 존재

728x90

댓글

💲 추천 글