반응형
728x170
https://kubernetes.io/ko/docs/concepts/overview/
쿠버네티스란 무엇인가?
전통적 배포
- 단일 물리 서버 기반 실행
하나의 물리 서버에서 여러 애플리케이션을 실행하는 방식. - 리소스 충돌 문제 발생
특정 애플리케이션 인스턴스가 서버 자원을 독점함에 따라, 다른 애플리케이션 성능 저하 문제 발생. - 물리 서버 분리 실행 시도
각 애플리케이션을 별도의 물리 서버에서 실행하려는 방식 도입. 하지만 리소스 활용률 저하 및 높은 유지 비용 문제 발생.
가상화된 배포
- 가상 머신(VM) 기술 도입
단일 물리 서버에서 여러 VM을 실행하여 리소스를 효율적으로 분할하는 방식. - 격리성과 보안성 확보
VM 간 애플리케이션 격리를 통해 정보 접근 제한 및 보안성 향상. - 유연한 리소스 활용 가능성 확보
리소스를 클러스터화하여 필요 시 가상 머신 단위로 유연한 운영 가능. - 독립적인 시스템 구성 가능
각 VM은 자체 OS를 포함하며 독립적으로 구성된 완전한 시스템으로 간주됨.
컨테이너 개발
- 운영체제 공유 기반의 경량화 구조
컨테이너는 VM과 유사하나, OS를 공유하여 보다 가볍고 빠른 실행 환경 제공. - 이식성과 일관성 확보
클라우드, 온프레미스, 다양한 OS 배포판 간 동일한 동작 보장. - 주요 특징
- 애플리케이션 이미지 생성 및 배포의 기민성
- CI/CD와의 자연스러운 통합
- 개발-운영 관심사 분리 구조
- OS 수준을 넘어선 애플리케이션 상태 관측 가능성 확보
- 개발-테스트-운영 환경의 일관성
- 마이크로서비스 기반의 느슨한 결합 및 유연한 배포 구조
- 자원 격리를 통한 예측 가능한 성능
- 높은 자원 효율성과 집적도 제공
쿠버네티스의 등장 배경과 역할
- 컨테이너 관리 자동화 필요성 대두
컨테이너는 뛰어난 기술이나, 장애 시 자동 복구 및 확장 등을 수동으로 관리하는 것은 비효율적임. - 분산 시스템 실행 프레임워크로서의 쿠버네티스
애플리케이션 배포, 스케일링, 자가 복구, 배포 전략 관리 등을 포함한 자동화된 인프라 운영 환경 제공.
쿠버네티스의 주요 기능
- 서비스 디스커버리 및 로드 밸런싱
DNS/IP 기반의 서비스 노출 및 로드 밸런싱 지원 - 스토리지 오케스트레이션
로컬, 퍼블릭 클라우드 등 다양한 스토리지 마운트 자동화 지원. - 롤아웃 및 롤백 자동화
선언적 상태 기술을 기반으로, 원하는 상태로 시스템을 점진적 또는 즉각적으로 전환 가능. - 빈 패킹 최적화 (bin packing)
각 컨테이너의 자원 요청을 기반으로 최적의 노드 배치 수행. - 자가 복구(Self-Healing)
실패한 컨테이너 자동 재시작 및 교체, 상태 점검 미통과 시 종료 등의 복구 처리 자동화. - 시크릿 및 구성 관리
민감 정보(예: OAuth 토큰, SSH 키 등)와 애플리케이션 설정을 분리 관리하고 재배포 없이 적용 가능
-> 어떻게 위 기능들을 지원하느냐가 기술의 근간
쿠버네티스가 아닌 것들
- PaaS(Platform as a Service)가 아님
로깅, 모니터링, 알림 등은 기본 제공하지 않으며 사용자가 선택적으로 통합. - CI/CD 시스템이 아님
소스 코드 빌드나 배포를 직접 수행하지 않음. 외부 시스템과의 연동 필요. - 미들웨어나 DB와 같은 애플리케이션 레벨 서비스 미제공
Spark, Kafka, MySQL 등은 쿠버네티스 위에서 구동 가능하나, 자체 제공 기능은 아님. - 로깅 및 모니터링 기능 포함하지 않음
메트릭 수집은 가능하나, 외부 솔루션과의 통합을 통해 완성됨. - 기본 설정 언어 미제공
Jsonnet 등 고정된 언어나 구성 시스템 요구 없음. - 머신 관리 자동화 시스템 아님
VM 및 하드웨어 관리 기능은 직접 포함되지 않음. - 쿠버네티스는 단순한 오케스트레이션 시스템이 아님
- 독립적이고 조합 가능한 제어 프로세스들로 구성
- 프로세스는 지속적으로 현재 상태를 입력받은 의도한 상태로 유지하려고 함
- 중앙 집중형 제어 시스템의 불필요성
- 분산적이고 선언적인 방식으로 구성되어 확장성, 회복성, 견고성 확보 가능.
- 독립적이고 조합 가능한 제어 프로세스들로 구성
728x90
반응형
그리드형
'클라우드 > Docker & K8s' 카테고리의 다른 글
(2-1) - kube apiserver (0) | 2025.04.17 |
---|---|
(2) - 쿠버네티스 컴포넌트 개요 (0) | 2025.04.17 |
Docker_Window (0) | 2023.01.21 |
구글 스터디잼 (0) | 2022.10.21 |
K8s, Kubernetes - 기본 개념 (추가 중) (0) | 2022.10.06 |