1-2. 컨테이너 기술 이해하기

황인권·2025년 2월 3일

Kubernetes

목록 보기
2/37

컨테이너 기술과 도커라는 용어

  • 컨테이너 기술은 다양한 구현체가 존재하며, 그 중 가장 대표적인 플랫품이 도커이다.
  • 도커는 도커 플랫폼 자체를 의미하기도 하지만, 컨테이너 기술을 부르는 대명사로도 자주 쓰인다.
  • 마치, 우리가 스테이플러를 호치키스라고 부르는 것과 비슷

컨테이너란?

  • 컨테이너 기술이란, 어떤 프로그램을 실행하기 위한 환경과 실행파일을 통째로 하나로 묶어서 실행할 수 있도록 하는 기술
  • 컨테이너란, 컨테이너 기술로 실행되는 앱을 의미하기도 한다.

컨테이너 기술과 쿠버네티스

  • 쿠버네티스는 컨테이너 기술을 바탕으로 복잡한 운영환경을 잘 운영할 수 있도록 도와준다.
    • 최신 버전의 쿠버네티스는 컨테이너 기술 중 containerd, CRI-O와 같은 플랫폼을 사용한다.

      Q. 그럼 컨테이너를 실습할 때 containerd를 직접 사용하나?
      A. 컨테이너 실습을 위해서는 도커를 사용해도 된다. 대부분의 컨테이너 플랫폼은 OCI(Open Container Initiative)라는 표준 인터페이스를 따르고 있기 때문에 거의 호환되기 때문.

  • 도커를 기준으로 만들어진 앱도 다른 컨테이너 플랫폼, 예를 들어 Podman에서도 똑같이 실행할 수 있다.

VM(가상머신) 기술과 컨테이너 기술

  • 컨테이너 기술은 호스트 OS와 완전히 격리된 것처럼 느껴지지만, 실제로는 호스트 OS와 자원을 공유한다.
    • 컨테이너가 통쨰로 일종의 프로세스처럼 동작하는 것.
  • VM 기술은 하드웨어의 자원을 나눠서, 직접 게스트 OS에 설치하는 방법.
    • 보안적인 측면에서는 더 좋지만, 아무래도 가상으로 직접 OS를 설치하다 보니 성능이 좋지 않다.

쿠버네티스는 왜 컨테이너 기술을 바탕으로 하나?

  • 컨테이너 기술을 이용해서 만들어진 앱을 실행시키면, 어떤 환경에서 개발된 앱이라도 항상 동일한 조건으로 실행할 수 있기 때문이다.
    • 실제 운영 환경에서 보다 개발자의 의도대로 앱이 동작할 수 있다.
  • VM 기술보다 컨테이너 기술이 훨씬 가볍기 때문에 성능이 좋다.
profile
inkwon Hwang

0개의 댓글