데이터 엔지니어링/클라우드

[클라우드] 컨테이너 기술이란

pythaac 2022. 5. 8. 17:35

개요

  • 정의
    - 시스템의 나머지 부분과 분리된 1개 이상의 프로세스 세트
  • 배경
    - LXC(LinuX Container)부터 시작
    - LXC는 단일 머신에 여러 개 독립 리눅스 커널 컨테이너 실행을 위한 OS레벨의 가상화 기법
  • 기능
    • 전통적 테스트 환경 복제에 의존하는 개발 파이프라인보다 더 빠르고 편함
      - 네트워크, 스토리지, 보안 등 서로 다른 환경으로 프로그램 실행에 각종 오류 발생
      - 다른 환경으로 이동시 안정적으로 실행하기 위한 개념
    • 하이퍼바이저 기반 가상화 기술을 대체하여 각광받음
      - 컨테이너 이미지 배포가 새로운 운영체제 설치보다 훨씬 간편 / 비용이 저렴
      - Guest OS가 필요한 하이퍼바이저와 달리, 컨테이너는 운영체제 없이 어플리케이션 실행에 필요한 모든 파일만 패키징한 형태

https://www.redhat.com/ko/topics/containers/whats-a-linux-container

 

컨테이너 장점/단점

  • 경량화
    • 하드웨어 레벨의 가상화인 VM과 달리 Guest OS와 하이퍼바이저가 없는 OS 레벨 가상화 구조
    • OS가 포함되지 않아 수십MB에 불과
    • 운영체제 부팅이 필요하지 않아 서비스 시작 시간도 빠름
    • 가벼우므로 컨테이너에 대한 복제/배포가 용이
  • 컴퓨팅 자원
    • 컨테이너는 하나의 애플리케이션과 비슷한 수준의 자원만 필요
    • 따라서, VM에 비해 시스템 성능 부하가 적은 편
    • 실행중인 서비스에 자원 조절이 용이
      - CPU 사용량 등을 판단하여 자동으로 자원을 확장/축소 가능
  • 안정성
    • 컨테이너는 Host OS 커널을 공유하는 구조
    • 하나의 컨테이너에서 발생한 장애가 다른 컨테이너에 영향을 줄 수 있음

 

 

 

 

 

 

 

https://www.redhat.com/ko/topics/containers/whats-a-linux-container

 

리눅스 컨테이너(Linux Container): 개념, 생성, 사용법, 종류

리눅스 컨테이너(Linux Container)란 리눅스 커널을 공유하는 방식을 사용하여 프로세스 격리 기능을 실행하는 가상화 기술이며, 빠른 속도와 성능 유지가 장점입니다.

www.redhat.com

https://m.blog.naver.com/shakey7/221600166205

 

클라우드 가상화 기술 정리 2 (컨테이너 / 도커 Docker / 리눅스 / 커널 / 라이브러리 / 바이너리 / 운

1. 컨테이너(Container) 기술 배경 - 컨테이너라는 개념은 2000년대 중반 리눅스에 내장된 LXC(LinuX...

blog.naver.com