쿠버네티스,도커,컨테이너의 개념

최준근·2023년 3월 12일
0

쿠버네티스 & 도커

목록 보기
1/1
post-thumbnail

쿠버네티스란?

  • 컨테이너를 분산 배치, 상태 관리 및 컨테이너의 구동 환경까지 관리해 주는 도구이다.
  • 컨테이너를 다루기 위해 도커 이외에도 다양한 컨테이너 런타임 소프트웨어를 사용할 수 있다.

컨테이너란?

  • 우리가 구동하려는 애플리케이션을 실행할 수 있는 환경까지 감싸서 어디서든 쉽게 실행할 수 있도록 해 주는 기술이다.
  • 쉽게말해, pc에 프로그램을 설치할 때 생각해보면 특정 경로에 맞춰 설치를 해야 하거나, 내 컴퓨터에 필요한 옵션을 일일이 맞추느라 복잡한 경험이 있다.
  • 컨테이너는 이러한 환경까지 모두 포함하여 독립적으로 프로그램을 실행할 수 있도록 도와주는 기술이다.
  • 컨테이너 환경을 묶어서 배포한 "컨테이너 이미지"라는 프로그램을 내려받아 구동하면 실행되기 때문에, 각종 설정 과정이 줄어 들어서 좀 더 편하게 사용할 수 있다.

컨테이너 런타임?

  • 컨테이너를 사용할 때 필요한 도구가 컨테이너 런타임이다. 컨테이너를 쉽게 내려받거나 공유하고 구동할 수 있도록 해주는 도구이다.
  • 이 도구들 중 가장 유명한 것이 "도커"
  • 도커가 사용하는 컨테이너 규격은 표준화 되어 있기 때문에 도커가 아닌 다른 컨테이너 런타임들도 도커로 만든 컨테이너를 사용할 수 있다.

전통적 배포

  • 가상화 이전에 오래전부터 사용하던 방식이다.
  • 물리적 컴퓨터 한 대에 하나의 OS를 깔고 여러 가지 프로그램을 설치하는 방식
  • 하나의 OS에 많은 프로그램을 설치했을 때 한 대의 컴퓨터에서 모든 걸 처리하려고 하기 때문에 성능이 떨어진다.

가상화 배포

  • 가상 머신을 기반으로 하는 배포 방식이다.
  • 중간에 위치한 하이퍼바이저는 하나의 시스템 상에서 가상 컴퓨터를 여러 개 구동할 수 있도록 해주는 중간 계층을 의미한다.
  • App은 실행하고자 하는 프로그램
  • Bin/Library는 프로그램이 실행하는데 필요한 환경과 관련된 파일이다.

가상머신은 말 그대로 가상 컴퓨터이다. 컴퓨터이기 때문에 우리가 컴퓨터를 조립할 때 CPU, 메모리 및 SSD를 장착하듯 가상머신에도 CPU, 메모리, 저장 장치 등을 개별적으로 할당할 수 있다. 전통적 배포에서 문제가 되었던 여러가지 프로그램을 각각의 가상머신에서 실행시켜 하나의 컴퓨터 안에서 두 개의 가상화된 컴퓨터가 동작하기 때문에 서로 간섭을 일으키지 않는다.
하지만 이 방식이 전통적 배포 보다는 효율적이지만, 가상머신은 컴퓨터이고 가상머신에 일일이 OS를 설치해야하기 때문에 컨테이너 중심의 배포보다는 무겁다.

컨테이너 중심의 배포

  • 컨테이너는 가상 머신과 달리 프로그램 구동을 위해서 OS를 매번 설치할 필요가 없다.
  • OS는 1개만 사용한다.
  • 컨테이너는 OS 하단이 어떻게 동작하는지 관심을 두지 않는다. 그래서 가상머신 위에 올라간 OS에서 컨테이너 기반 배포를 하는 것이 가능하다.

두개의 프로그램이 작동한다는 예를 들어보자 1.게임 2. 음악프로그램 이때, 컨테이너 중심 배포에서는 게임과 음악프로그램이 각각 실행되면서 이 컴퓨터에서 나만 구동되고 있다 라고 판단할 수 있도록 실제로 두 프로그램 간에 간섭을 일으킬 수 없는 장벽을 친다. 이러한 장벽을 치는 것과 동시에 OS는 게임과 음악 프로그램이 사용할 수 있는 CPU, 메모리 등의 자원 또한 독립적으로 사용할 수 있도록 할당하고 관리한다. 이러한 과정을 통해 게임과 음악프로그램은 스스로를 서로 다른 컴퓨터에서 구동된다고 생각하게 된다. 물론 OS관점에서 보자면 둘 다 OS 상에서 구동되는 프로그램이다.

주의할 점

  • 프로그램의 문제가 OS에 문제를 일으킬 경우 OS에서 구동 중인 전체 컨테이너의 문제가 될 가능성이 있다.
  • 리눅스를 기준으로 내가 실행한 프로그램이 독립된 환경에서 실행되는 것처럼 격리시키고, CPU, 메모리 및 저장 장치와 같은 자원도 실행한 프로그램이 독립적으로 쓸 수 있도록 해주는 namespacecgroup이라는 기술이 있다.

용어정리

총 정리

profile
느려도 좋으니 꾸준하게

0개의 댓글