Kubernetes - 기본 개념 및 구조

choko's avatar
Jun 29, 2024
Kubernetes - 기본 개념 및 구조
 
 

쿠버네티스

  • 쿠버네티스란, 컨테이너 작업을 자동화하는 오픈소스 플랫폼입니다.
  • 이 플랫폼에서는 컨테이너화된 애플리케이션을 배포하고 확장하는 데 수동 프로세스가 필요하지 않습니다.
  • 즉, Linux 컨테이너를 실행하는 호스트 그룹을 함께 클러스터링할 수 있으며 쿠버네티스를 통해 이러한 클러스터를 쉽고 효율적으로 관리할 수 있습니다.
 

쿠버네티스 클러스터

클러스터 : 여러대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합
쿠버네티스 클러스터는 애플리케이션 컨테이너를 실행하기 위한 일련의 노드 머신입니다. 쿠버네티스를 실행 중이라면 클러스터를 실행하고 있는 것입니다. 클러스터는 쿠버네티스의 핵심 장점입니다. 물리 머신, 가상 머신, 온프레미스, 클라우드에 구애받지 않고 머신 그룹 전체에서 컨테이너를 예약하고 실행할 수 있습니다.
 

쿠버네티스 기능

 
notion image
 
실제 프로덕션 애플리케이션은 여러 컨테이너에 걸쳐 있으며 이러한 컨테이너는 여러 서버 호스트에 배포되어야 합니다. 쿠버네티스는 이러한 워크로드를 위해 규모에 맞는 컨테이너를 배포하는 데 필요한 오케스트레이션 및 관리 기능을 제공합니다. 쿠버네티스 오케스트레이션을 사용하면 여러 컨테이너에 걸쳐 애플리케이션 서비스를 구축하고 클러스터 전체에서 컨테이너의 일정을 계획하고 이러한 컨테이너를 확장하여 컨테이너의 상태를 지속적으로 관리할 수 있습니다. 쿠버네티스를 활용하면 IT보안을 한층 더 강화할 수 있습니다.
 
 

쿠버네티스의 장점

  • 여러 호스트에 걸쳐 컨테이너를 오케스트레이션합니다.
  • 하드웨어를 최대한 활용하여 엔터프라이즈 애플리케이션을 실행하는 데 필요한 리소스를 극대화합니다.
  • 애플리케이션 배포 및 업데이트를 제어하고 자동화합니다.
  • 스토리지를 장착 및 추가해 스테이트풀(stateful) 애플리케이션을 실행합니다.
  • 컨테이너화된 애플리케이션과 해당 리소스를 즉시 확장합니다.
  • 선언적으로(Declaratively) 서비스를 관리함으로써, 배포한 애플리케이션이 항상 배포 목적대로 실행되도록 합니다.
  • 자동 배치, 자동 재시작, 자동 복제, 자동 확장을 사용해 애플리케이션 상태 확인과 셀프 복구를 수행합니다.
 
 

쿠버네티스 Object

 

Pod

notion image
  • 쿠버네티스에서 배포할 수 있는 가장 작은 단위, 한 개 이상의 컨테이너와 스토리지, 네트워크 속성을 갖는다.
 
 

ReplicaSet

notion image
  • Pod을 여러 개 복제하여 관리하는 오브젝트이다.
 

Service

  • 네트워크와 관련된 오브젝트. Pod을 외부 네트워크와 연결해주고, 로드 밸런서를 생성할 때 사용한다.
 

Volume

  • 저장소와 관련된 오브젝트, 호스트 디렉토리를 그대로 사용할 수도 있고 EBS같은 스토리지를 동적으로 생성하여 사용할 수도 있다.
 
 
Share article

Tom의 TIL 정리방