[쿠버네티스] K8s Component

hi·2022년 11월 3일
0

쿠버네티스

목록 보기
1/60
post-thumbnail

K8s 마스터

전체 클러시터 관리를 담당하는 노드로 k8s 워커의 오케스트레이션을 처리함
특징으론 단일 실패 지점 회피를 위한 복제 기능을 가짐

  • API 서버
    쿠베네티스 컨트롤 플레인의 프론트엔드로 쿠버네티스 클러스터를 정의하고 구성하기 위해 RESTFul 웹 서비스를 제공함

  • etcd
    시스템에서 실행 중인 모든 오브젝트의 상태를 유지 관리하는 고가용성 보장을 위한 요소로 쿠버네티스 구성의 모든 변경 사항이 여기에 저장되며 변경사항을 즉시 조치할 수 있음 (일종의 서비스 레지스트리)

  • 스케줄러
    스케줄러는 각 파드의 리소스 요구 사항을 읽고 가용성에 따라 클러스터 전체에 파드를 배포함. 파드의 스냅샷을 다른 노드에 배포함으로써 가용성을 보장한다.

  • 컨트롤러 매니저
    컨트롤러 매니저는 클러스터의 백그라운드에서 컨트롤러 등을 관리함. 컨트롤러는 구성 변경을 감시하고 클러스터를 원하는 형태로 만드는 작업을 수행함.

컨트롤러 예시

  • 노드 컨트롤러
    클러스터의 노드를 모니터링하고 노드가 가동하거나 종료할 때 Response함. 그리고 이를 통해 스케줄러는 노드의 가용성을 파악하고 스케줄링 작업을 수행함

  • 엔드포인트 컨트롤러
    API에서 엔드포인트 레코드를 생성해 서비스와 파드를 연결하고 서비스를 실행하는 파드를 가리키는 주소를 반환하도록 DNS 구성을 변경함

  • 레플리케이션 컨트롤러
    레플리케이션 컨트롤러는 원하는 수의 파드 snapshot이 클러스터에서 실행되고 있는지 확인함.



쿠버네티스 워커

  • Kubelet
    컨테이너가 정상적으로 작동하는지 모니터링함. Kubele은 파드를 설명이 적힌 (파드스펙) YAML, JSON 등의 정보를 바탕으로 컨테이너를 모니터링함.

  • Kube-Proxy
    서비스들 간의 네트워크 프록시와 로드 밸런서를 생성함

  • 파드
    파드는 클러스터에서 실행 중인 프로세스를 뜻함.
    일반적으로 파드 하나에 컨테이너 하나를 포함시키지만 단단히 결합된 컨테이너 그룹을 하나의 파드로 구성하기도 함.


  • 쿠버네티스 아키텍처 개요

컨테이너

  • 컨테이너 런타임
    컨네테이너 런타임은 컨테이너의 패키지와 결합된 애플리케이션을 부팅하는 기본 리소스와 라이브러리 세트를 제공해 컨테이너를 실행할 수 있게 함. 컨테이너 런타임에는 로킷과 도커 등이 있음.

  • 컨테이너 레지스트리
    컨테이너를 배포할 때마다 매번 빌드하고 라이브러리를 가져오고 하기엔 시간이 좀 걸리니까 한번 만들어진 컨테이너 이미지를 컨테이너 레지스트리에 저장하고 필요할 때 사용하도록 한다.

https://kubernetes.io/ko/

0개의 댓글