쿠버네티스 개요

쿠버네티스 개요

배경

클라우드 네이티브 환경

Pasted image 20240619174810.png
CNCF의 클라우드 네이티브 정의
클라우드의 장점을 최대한 활용하여 정보 시스템을 구축 및 실행하는 환경
클라우드 환경을 통해 이뤄지는 다양한 기술, 패턴, 방법론을 포괄함

클라우드 네이티브 환경의 특징

NIA에서는 네이티브 환경의 특징을 4가지로 정의

마이크로서비스

빠른 배포를 가능하게 하는 업무 구조
서비스를 각각 고유한 논리, 상태 및 데이터가 있는 독립적인 서비스로 기능을 분리

컨테이너

빠른 배포를 가능하게 하는 기술적 토대
경량화된 독립 가상환경
Pasted image 20240621152014.png

기존 방식
가상 머신 환경
컨테이너 환경

데브옵스

빠른 배포를 가능하게 하는 업무 프로세스
개발과 운영의 협업을 통해 전체 라이프사이클을 관리하는 철학 또는 운동.
팀 간의 프로세스를 자동화하는 일련의 과정으로도 정의
빠른 개발, 빠른 배포, 안정성을 갖출 수 있음

개발자와 엔지니어의 간극을 메꾸는 것이 바로 데브옵스

CICD

빠른 배포를 가능하게 하는 자동화된 업무
그냥 배포, 운영 자동화

Why Kubernetes?

상황

What is Kubernetes?

개요

다량의 컨테이너를 운영하는 툴
컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼
2014년 구글이 사내에서 운영하던 Borg를 오픈소스화시켜 공개
컨테이너 운영 노하우가 담긴 기술 집약적 툴
많은 시스템을 통합하고 컨테이너를 제공하기 위한 API 제공

기능

Pasted image 20240621150956.png

쿠버네티스 아키텍처

Pasted image 20240621162122.png
Pasted image 20240621160838.png

컨트롤 플레인과 데이터 플레인으로 구성
컨트롤 플레인에 해당하는 마스터 노드가 데이터 플레인에 해당하는 워커 노드에 작업을 지시
실제 사용자는 kubectl 명령어를 통해 컨트롤 플레인에 http api지시를 내림

컨트롤 플레인

데이터 플레인

애드온

이밖에도 CNCF 산하의 많은 오픈소스들이 쿠버네티스 생태계로 편입되어 활용될 수 있도록 설계됨
오히려 쿠버네티스에 종속되는 것들도 존재함
이들을 통해 보다 네트워킹, 모니터링 등의 복잡한 클러스터 관리를 행할 수 있음

세부적으로 알아야할 개념

스토리지, 네트워크, 워크로드, 보안, 옵셔빌리티, 헬름차트....
To be Contnued...

참고