Kubernetes 개념

이택영·2023년 1월 31일
1

Kubernetes in action

목록 보기
1/3

Kubernetes cluster architecture

쿠버네티스 클러스터는 크게 두 종류로 나눌 수 있다.

  • 마스터 노드: 전체 쿠버네티스 시스템을 제어하고 관리하는 쿠버네티스 컨트롤 플레인을 실행한다.
  • 워커 노드: 실제 배포되는 컨데이터 어플리케이션을 실행한다.

쿠버네티스 클러스터 아키텍쳐

쿠버네티스 클러스터 아키텍쳐

컨트롤 플레인

컨트롤 플레인은(cotroll plane)은 클러스터를 제어하고 작동시킨다.

  • 쿠버네티스 API 서버는 사용자, 컨트롤 플레인 구성 요소와 통신한다.
  • 스케줄러는 애플리케이션의 배포를 담당한다.
  • 컨트롤러 매니저는 구성 요소 복제본, 워커 노드 추적, 노드 장애 처리 등과 같은 클러스터단의 기능을 수행한다.
  • Etcd는 클러스터 구성을 지속적으로 저장하는 신뢰할 수 있는 분산 데이터 저장소다.

컨트롤 플레인의 구성 요소는 클러스터 상태를 유지하고 제어하지만 애플리케이션을 실행하진 않는다. 이는 노드에 의해 이뤄진다.

노드

워커 노드는 컨테이너화된 애플리케이션을 실행하는 시스템이다. 애플리케이션을 실행하고 모니터링하며 애플리케이션에 서비스를 제공하는 작업은 다음 구성 요소에 의해 수행된다.

  • 컨테이너를 실행하는 도커, rtk 또는 다른 컨테이너 런타임
  • API 서버와 통신하고 노드의 컨테이너를 관리하는 Kublet
  • 애플리케이션 구성 요소 간에 네트워크 트래픽을 로드밸런싱하는 쿠버네티스 서비스 프록시

쿠버네티스에서 애플리케이션 실행

쿠버네티스를 통해서 애플리케이션을 실행하려면 먼저 애플리케이션을 하나 이상의 컨테이너 이미지로 페키징하고 해당 이미지를 이미지 레지스트리로 푸시한 다음 쿠버네티스 API 서버에 애플리케이션 디스크립션을 게시해야한다.

각 노드의 큐블렛(Kubelet)이 컨테이너 런타임(도커)에 필요한 컨테이너 이미지를 가져와 컨테이너를 실행하도록 지시한다.

쿠버네티스 사용의 장점

  • 애플리케이션 배포의 단순화
  • 하드웨어 활용도 증가
  • 상태 확인과 자가 치유
  • 오토스케일링
  • 애플리케이션 개발 단순화


마르코 룩샤, ⌜쿠버네티스 인 액션⌟, 강인호*황주필*이원기*임찬식, MANNING, 2020.03.31, 843

profile
괴발개발

0개의 댓글