[배경]

- 컨테이너가 늘어남에 따라 배포/확장 및 관리를 자동화 해주는 플랫폼이 필요

본문]

1. 개념

 - 컨테이너를 쉽고 빠르게 배포/확장하고 관리하는 자동화 오픈소스 플랫폼

2.  구성도

쿠버네티스 구성도 [출처 : https://wiki.webnori.com/display/kubernetes/Kubernetes}

 

쿠버네티스 구성도 [출처 : https://velog.io/@ha0kim]

 

쿠버네티스 구성도 [출처 : https://wiki.webnori.com/display/kubernetes/Kubernetes}

3.  구성요소

구성요소 설명
kubectrl - 제어 명령을 위한 커멘드 라인 도구
Master - 클러스터 전체를 제어하는 시스템
Node - Master 서버와 통신읕 통해 실제 노드 생성/서비스 하는 컨포넌트

4. 특징

특징 설명
무중단 서비스 - 자가회복(Auto-scaling, Auto-replication 등) 기능으로 장애 회복
유연한 확장성 - 자원 사용률에 따른 유연한 자원 할당
뛰어난 이식성 - 컨테이너의 독립적인 구조를 통해 다른 클라우드로 쉽게 이식가능
효율적인 자원사용 - 서비스에 필요한 만큼의 자원 할당

5. Docker와 쿠버네티스의 비교

docker vs kubernetes [출처 : https://cloudify.co/blog/docker-vs-kubernetes-comparison/]

 

구분 Docker Kubernetes
Container Support Yes (Containerd) Yes (Containerd + CRI)
Persistent Storage Yes Yes
Container Cross-Platform Support No. Limited to Base Image Yes
99.9% Uptime NO Yes
Initial Complexity Low High
Auto-scaling NO Yes
Self-healing No Yes
Load-balanced NO Yes

*CRI :  Container Runtime Interface

CRI를 사용하여 컨테이너를 관리 [출처 : http://www.digipine.com/index.php?document_srl=42033&mid=hardware}
하이브리드 클라우드에서의 애플리케이션 확장 [출처: 멘텍]

 

6. 활용

- AI / 빅데이터 분석 플랫폼에 쿠버네티스를 활용

7. 쿠버네티스 도입의 장점

기획자 측면 설명
디지털 트랜스포메이션(DX) 기반 구축 - DX 실현을 위해서는 IT 서비스 개발 "속도"가 필수적인 조건
비용절감 - Guest OS에 대한 라이센스 제거 / 관리 비용 제거
Hybrid 클라우드 실현 - Private Cloud에 구축하여 Public Cloud로 즉시 이전 가능 
- Private Cloud와 Public Cloud를 단일한 기술과 운영 방법으로 관리
DevOps 기반 - 컨테이너는 DevOps CI/CD (Continuous Integration/Continuous Delivery)를 간소화

개발자 측면의 장점 [출처 : http://www.opennaru.com/openshift/container/benefits-of-kubernetes]

개발자 측면 설명
효율적 개발환경 구축 - 개발환경 구축 기간 단축 / OS가상화로 격리된 테스트 환경 구축
배포 편이성 - 이미지를 통한 빌드, 배포 자동화
- 개발자 환경/ 테스트 환경/ 스테이징 환경/ 운영 환경에 대한 일관성 보장으로 장애 요인 제거와 장애 원인 파악 시간 단축
민첩한 개발 - 컨테이너를 통한 짧은 주기로 요구사항 정의와 릴리즈를 반복하는 Agile Development 지원
서비스 무정지 환경 제공 - 서비스 정지 없이 시스템 운영이 가능하여 배포시간과 횟수에 대한 제약이 없음
마이크로서비스 아키텍처 - 마이크로 서비스는 컨테이너로 구성하고 배포, 운영하는 것이 매우 유리
DevOps 기반 - 컨테이너는 DevOps CI/CD (Continuous Integration/Continuous Delivery)를 간소화

Monolith과 Microservices 비교 [출처 : https://velog.io/@200ok]

운영자 측면 설명
낮은 오버헤드와 빠른 시작 - 최소한의 CPU와 메모리 만 사용하여 비용절감과 부하가 작아 고성능 제공
- Guest OS 가 없기 때문에 OS 부팅 없이 애플리케이션을 실행하여 빠른 시작 (호스트 OS 에서 프로세스로 실행)
높은 이동성 ( Portability) - Public Cloud (AWS, Azure, Google …)와 기업 내 에서 Linux 운영체제라면 어디서나 운영 및 이식이 용이함
구축 기간 단축 - 컨테이너 환경은 개발, 스테이징, 운영 환경을 단순한 복사로 구축하여 작업시간을 단축하고 일관성을 제공하여 환경에 의한 문제 원인 제거
장애 대응 - 배포, 시스템 유지보수, 장애 발생시 무정지 작업이 가능
- 컨터이너 이미지 단위로 배포하고 운영하기 때문에 장애시 전환 시간을 단축
- 이미지 형태의 배포로 환경 차이에 의한 장애원인 제거
클라우드 네이티브 운영 환경 실현 스케쥴링(Scheduling), 컨트롤링(Controlling) , 자가 복구(Self Healing), 오토 스케일링(Auto Scaling), 롤링 업데이트(Rolling Update)

[출처 : http://www.opennaru.com/openshift/container/benefits-of-kubernetes/)

 

<kubernetes THE DOCUMENTARY>

 

 

 

[끝]

반응형