본문 바로가기

K8S

쿠버네티스(Kubernetes) 개념

728x90
참고자료
  - 쿠버네티스 공식 홈페이지 (https://kubernetes.io/ko/docs/concepts/overview/)
  -  패스트캠퍼스 쿠버네티스 올인원 강의

 



■ 쿠버네티스 개요

  • 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장 가능한 오픈소스 플랫폼 입니다. 풀어서 설명하면, 애플리케이션 구동에 필요한 데이터들만 모아 경량화 시킨 컨테이너가 있고, 이러한 컨테이너를 구동 시키기 위한 컨테이너 런타임이 별도로 존재 합니다. 컨테이너 런타임과 통신하며 전체적인 컨테이너를 관리하기 위한 솔루션이 쿠버네티스 입니다. 

 

■ 쿠버네티스 용어

용어 의미
컨테이너 애플리케이션의 실행 환경을 포함하는 가벼운 패키지로 다양한 환경에서 일관된 운영이 가능하게 해주는 역할 수행 (→ 환경 독립성을 통해 높은 이식성 제공)
컨테이너 런타임 컨테이너 실행을 담당하는 소프트웨어 이며, 쿠버네티스 v1.30에서는 컨테이너 런다임 인터페이스 (CRI) 요구사항을 만족하는 런타임을 사용 해야 한다. 
공식 홈페이지 기준 containerd, CRI-O, 도커 엔진, 미란티스 컨테이너 런타임이 있다
오케스테이션  사전적 정의는 "관현악 편성법" 이며 악기의 구성과 배합을 연구하는 분야를 의미한다. 해당 개념을 차용 하였음. 컨테이너의 관리, 배포, 확장과 같은 라이프 사이클 전반에 걸쳐 관리하는 개념 이다.
쿠버네티스 컨테이너 런타임을 통해 컨테이너를 오케스트레이션 하는 도구이며, 쿠버네티스는 선언적 구성과 자동화를 기존보다 쉽게 할 수 있게 해주는 역할을 수행 한다.

 

 

■ 쿠버네티스 필요성

  • 어플리케이션 배포 환경의 변화에 따라 "전통적인 운영" → "가상화 운영" → "컨테이너 운영" 으로 변화하고 있고, 쿠버네티스는 PaaS (Platform as a Service)에서 물리적인 항목을 제외하고 인프라를 운영/관리에 필요한 거의 모든것을 제공해 주기 때문에 쿠버네티스의 필요성은 증가 하고 있습니다.

항목 설명 특징
전통적 운영 ▪ 물리 서버에 OS 및 애플리케이션 설치하여 사용하는 방식
▪ 애플리케이션의 리소스 한계 정의 방법 부재하여 다수의 물리서버가 필요하여 비용 증가 발생
오래되고 단순한 방식
▪ 단일 목적 시스템에서 사용
▪ 확장성 및 유연성 낮음
가상화 운영 ▪ 물리 서버 CPU에서 다수의 가상 시스템을 실행
▪ VM 단위로 격리되기 때문에 상호 간섭이 없어 보안성 및 할당된 리소스를 온전히 사용할 수 있음
VM에 별도의 OS 설치 필요
설치된 OS에 따른 애플리케이션 종속성 발생
컨테이너 운영 HOST OS에 컨테이너 런타임을 통해 컨테인너 실행
▪ 인프라와 종송성을 배제하여 이식성을 높임
▪ 런타임 환경은 containerd, 도커엔진, CRI-O 및 미란티스 사용
▪ 애플리케이션 실행은 격리되지만 OS 공유
▪ 컨테이너 장애 전파는 없으나, OS 장애 시 전체 컨테이너로 문제 전파
▪ namespace, cgroup 이용하여 리소스 정의

 

■ 쿠버네티스 기능

항목 설명
Service Discovery - CoreDNS 서비스를 사용하여 Pod에 단일 DNS 이름과 IP 주소를 할당하여 쿠버네티스의 오브젝트를 검색할 수 있도록 한다
Load Balancing - Label을 이용하여 여러 Pod를 포함하는 서비스 전체에 자동으로 부하분산을 수행함. 
Automation Rollout and Rollback - 신규 Pod를 배포하고 기존 Pod와 교체 하는 기능을 수행 (Rollout)
- 실패된 배포는 변경 사항을 되돌릴 수 있음 (Rollback)
Self-Healing - Pod의 상태 확인을 수행하고 실패한 컨테이너를 다시 시작
- Pod에 장애가 발생하면 K8S는 상태 확인이 될 때 까지 해당 Pod에 대한 연결을 허용하지 않음
Automatic Bin-Packing - 구성된 CPU 및 메모리 요구사항에 따라 컨테이너를 효율적으로 할당하여 리소스 활용도 최적화 수행 
Storage Orchestartion - 다양한 스토리지 시스템 (DAS, NAS 및 퍼블릭 클라우드 스토리지)을 K8S를 사용하여 Mount 하여 사용하는 기능 수행 
Secret and Configuration management - 컨테이너 이미지를 재구성(Image Rebuild) 하지 않고 내부 구성 및 기밀정보를 안전하게 저장하고 업데이트 가능하도록 지원하는 기능 수행

 

 

728x90