오답노트
[k8s] 가상머신과 컨테이너의 차이 그리고 쿠버네티스 본문
가상머신과 컨테이너
실제 하드웨어가 아닌 네트워크에 환경을 구축하여 어플리케이션을 제공하는 공통점이 있다. 하지만 구성 방식의 차이가 존재한다.
- 게스트 OS가 필요없다. : OS위에 구축하는 것이 아닌 도커 엔진 위에서 구동하기 때문에 게스트 OS는 필요없다.
- 시작시간이 짧다 : 가상머신은 하이퍼바이저가 게스트 OS를 할당해야하지만 컨테이너는 그럴 필요가 없기 때문에 시작시간이 짧다.
- 이미지 사이즈가 작다 : 게스트 OS가 없으므로 그만큼 이미지 사이즈가 작다.
- 호스트 OS만 패치한다. : 게스트 OS가 없으므로 호스트만 패치해도 모든 컨테이너에 적용 가능하다.
- 컨테이너 내부의 데이터는 컨테이너 종료 시 소멸, 필요시 스토리지를 이용하여 저장
Docker
도커는 컨테이너 엔진이며, 컨테이너 기반의 오픈소스 가상화 플랫폼이다.
도커는 도커허브라는 공개된 저장소 서버를 통해 컨테이너 자료들을 관리한다.
또 컨테이너를 생성하고 실행하기 위해서는 Dockerfile과 Image가 필요하다.
Dockerfile은 컨테이너 이미지를 생성하기 위한 레시피 파일이다. 이 파일에 이미지 생성 과정을 문법에 따라 작성하여 저장한다.
Docker Image는 서비스 운영에 필요한 프로그램, 소스코드, 라이브러리 등을 묶는 형태다. Docker Image는 Dockerfile을 통해 생성되며 Docker Image를 사용하여 다수의 컨테이너를 실행 가능하다.
Kubernetes
쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다.
쿠버네티스의 장점은 아래와 같다.
- 높은 확장성, 원활한 이식성
- 여러 환경에 구축 가능
- 오픈 소스 도구의 장점
- 플러그가 가능한 모듈 형식
Container Orchestration
다수의 컨테이너를, 다수의 시스템에서, 각각의 목적에 따라, 배포/복제/장애복구 등 총괄적으로 관리하는 것이다.
컨테이너 오케스트레이션이 수행하는 항목은 아래와 같다.
- 스케줄링
- 자동 확장 및 축소
- 장애 복구
- 로깅 및 모니터링
- 검색 및 통신
- 업데이트 및 롤백
'Infra > Kubernetes' 카테고리의 다른 글
[k8s] 컨테이너 배포/통신/볼륨 관리 (0) | 2022.11.07 |
---|---|
[k8s] 쿠버네티스 배포 유형 (0) | 2022.11.06 |
[k8s] 쿠버네티스 컴포넌트 (0) | 2022.11.06 |