쿠버네티스란?
컨테이너를 쉽고 빠르게 배포. 확장하고 관리를 자동화 해주는 오픈소스 플랫폼.
쿠버네티스 와 Docker Compose 차이점과 유사점
컨테이너를 관리하고 배포한다는점에서 비슷하다 느껴 두 기술의 차이점을 조사해보았고 다음 표와 같이 정리했다.
특징 | Docker Compose | 쿠버네티스 | |
차이점 | 규모 | 단일 호스트에서 작은 규모의 애플리케이션 |
여러 호스트에 걸친 대규모 분산 시스템 |
복잡성 | 상대적으로 단순하고 배우기 쉬움 | 더 복잡하지만 강력한 기능 제공 | |
기능 | 기본적인 컨테이너 관리기능 | 자동 스케일링, 롤링 업데이트, 자가복구 등 고급기능 |
|
네트워킹 | 단일 호스트 내 네트워킹에 중점 |
복잡한 다중 호스트 네트워킹 지원 |
|
상태 관리 | 제한적인 상태 관리 | 포드, 레플리 카셋등을 통한 강력한 상태 관리 |
|
유사점 | 컨테이너 오케스트레이션 | 여러 컨테이너를 관리하고 조율 | |
선언적 구성 | YAML 파일을 사용하여 애플리케이션 구조을 정의 | ||
서비스 정의 | 애플리케이션을 구성하는 서비스를 정의 할 수 있음 |
주요 개념
- 파드(Pod)
가장 작은 배포 단위, 하나 이상의 컨테이너 포함 - 서비스(Service)
파드 집합에 대한 단일 진입점 제공 - 레플리카셋(ReplicaSet)
지정된 수의 파드 복제본 유지 - 디플로이먼트(Deployment)
애플리케이션의 배포와 업데이트 관리 - 노드(Node)
노드란 하나의 VM(Virtual Machine)을 의미- 워커 노드(Worker Node)
컨테이너화 된 애플리케이션을 실행하는 노드 - 마스터 노드(Matser Node)
워커 노드를 관리하는 노드
- 워커 노드(Worker Node)
- 볼륨 (Volume)
데이터 저장 및 파드 간 데이터 공유 - 네임스페이스 (Namespace)
클러스터 자원의 논리적 분할
주요 특징
- 컨테이너 오케스트레이션:
- 여러 컨테이너를 관리하고 조율합니다.
- 컨테이너의 배치, 재시작, 복제 등을 자동화합니다.
- 클러스터 구조:
- 마스터 노드
클러스터 전체를 제어 중심
- 주요 컴포넌트
- API 서버: 모든 작업의 중심점. 내/외부 통신 관리
- etcd: 클러스터의 모든 데이터를 저장하는 분산 키-값 저장소
- 스케줄러: 새로운 파드를 노드에 할당
- 컨트롤러 매니저: 다양한 컨트롤러 실행 (노드 컨트롤러, 레플리케이션 컨트롤러 등)
- 주요 컴포넌트
- 워커 노드
실제 애플리케이션이 실행되는 노드- 주요 컴포넌트
- Kubelet: 노드의 주요 에이전트, 컨테이너 실행 관리
- Kube-proxy: 네트워크 프록시와 로드 밸런서 역할
- 컨테이너 런타임: Docker, containerd 등 컨테이너 실행 환경
- 주요 컴포넌트
- 마스터 노드
- 자동 스케일링:
- 리소스 사용량에 따라 파드의 수를 자동으로 조절
- 자가 복구:
- 실패한 컨테이너를 자동으로 재시작
- 응답하지 않는 노드의 워크로드를 다른 노드로 이동
- 로드 밸런싱:
- 네트워크 트래픽을 여러 파드에 분산
- 롤링 업데이트 및 롤백:
- 무중단 업데이트와 필요시 이전 버전으로 롤백 지원
- 구성 관리:
- ConfigMaps와 Secrets를 통한 애플리케이션 설정 관리
- 스토리지 오케스트레이션:
- 로컬 스토리지, 클라우드 제공업체의 스토리지 등 다양한 스토리지 시스템 지원
- 선언적 관리:
- YAML 또는 JSON 파일을 통해 원하는 상태를 선언적으로 정의
쿠버네티스 구조
참조
https://kubernetes.io/ko/docs/concepts/overview/
쿠버네티스란 무엇인가?
쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하
kubernetes.io
쿠버네티스, 이것만 알면 된다! - #1 쿠버네티스란 무엇일까?
쿠버네티스란 무엇일까요? 쿠버네티스란 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하는 오픈 소스 시스템입니다. 출처: https://kubernetes.io/ 1주일에 수십억 개의 컨테이너를 생성
tech.ktcloud.com
https://subicura.com/2019/05/19/kubernetes-basic-1.html
쿠버네티스 시작하기 - Kubernetes란 무엇인가?
쿠버네티스는 컨테이너를 쉽고 빠르게 배포/확장하고 관리를 자동화해주는 오픈소스 플랫폼입니다. 1주일에 수십억 개의 컨테이너를 생성하는 구글이 내부 배포시스템으로 사용하던 borg를 기
subicura.com
'개발일기 > CS(면접)' 카테고리의 다른 글
HTTPS 란? (0) | 2024.09.12 |
---|---|
공간 복잡도란? (0) | 2024.09.10 |
시간 복잡도란? (0) | 2024.09.08 |
OSI 7계층 이란? (0) | 2024.08.21 |
Transaction 전파 전략 (0) | 2024.08.14 |