[클라우드 용어집] 도커/컨테이너/쿠버네티스
마케팅커뮤니케이션팀 2024-06-21
“컨테이너”
위 단어를 들으면 무엇이 먼저 떠오르시나요? IT 업계 종사자라면 쿠버네티스, 도커 개념과 함께 ‘애플리케이션을 작동시키기 위해 필요한 라이브러리, 환경 설정 등을 하나로 모은 소프트웨어 패키지’가 먼저 연상될 수 있습니다. 이처럼 컨테이너는 IT 생태계에서 빼놓을 수 없는 중요한 개념이 되었는데요.
‘컨테이너 기술’은 어떻게 발전했는지, ‘쿠버네티스’는 무엇인지, 쿠버네티스가 지원 중단을 선언한 ‘도커’는 무엇인지 용어 설명을 통해 알아보겠습니다.
NHN Cloud 기술 교육팀이 알려 주는 컨테이너와 이미지의 기본 개념과 보안 사고에 대응하기 위한
쿠버네티스 사용 전략이 궁금하시다면 웨비나를 통해 자세히 확인해 보세요.
용어 설명
▶ 컨테이너(Container)
컨테이너는 특정 애플리케이션을 실행하기 위해 필요한 라이브러리와 실행 환경을 이미지로 패키징하고, 가상화 기술을 이용하여 독립적으로 실행하는 기술을 말합니다. 이 이미지화된 컨테이너는 웹 서버와 같은 애플리케이션을 구동하기 위한 필수 구성 요소와 실행 환경을 모두 포함하며, 호스트 시스템과는 격리된 공간에서 동작합니다.
기존 하이퍼바이저를 통한 가상화는 호스트 OS 위에 VM마다 게스트 OS를 추가 배포하는 구조이기 때문에, VM 수가 늘어나면 성능이 저하되는 단점이 있습니다. 컨테이너 가상화는 이러한 성능 저하 단점을 개선하기 위해 고안된 것으로, 사용자가 원하는 애플리케이션을 구동하는데 필요한 코드, 라이브러리, 환경 설정 등이 포함된 경량화 이미지를 바탕으로 다양한 컨테이너 구동 환경에서 빠르게 배포할 수 있다는 장점이 있습니다.
▶ 이동성
애플리케이션에 필요로 하는 요소들만 한번에 묶어서 배포가 가능하기 때문에 이용하는 운영 환경에 구애받지 않고 다양한 환경에 애플리케이션을 배포/실행할 수 있습니다.
▶ 확장성
컨테이너는 애플리케이션 실행 환경이 패키징된 구동환경을 제공하기에 별도의 애플리케이션 구동을 위한 운영체제를 부팅할 필요가 없으므로 하이퍼바이저로 가상화된 VM보다 빠르고 가볍습니다. 따라서 경량화 된 배포 환경을 바탕으로 애플리케이션을 확장하거나 축소하는데 용이합니다.
▶ 컨테이너 이미지(Container Image)
컨테이너 기술을 사용하여 애플리케이션을 패키징하고 배포하기 위한 핵심 구성 요소로 애플리케이션 실행에 필요한 소스 코드, 실행 파일, 스크립트 등을 포함하고 있습니다.
▶ 컨테이너 런타임(Container Runtime)
컨테이너 이미지를 컨테이너로 구동하기 위한 소프트웨어 프로그램을 말합니다. 컨테이너의 격리와 가상화, 자원 관리, 컨테이너 생명 주기 등의 컨테이너 실행 환경을 제공해 줍니다. 흔히 알고 있는 도커(Docker)가 간편하게 컨테이너를 다루는 런타임이며, 이와 유사한 역할을 하는 컨테이너 런타임에는 CRI_O, Containerd가 있습니다.
▶ 컨테이너 오케스트레이션(Container Orchestration)
플루트, 바이올린, 첼로 등 관악기 현악기 파트를 서로 조율하여 하나의 음악을 연주하는 관현악단을 뜻하는 ‘오케스트라’처럼, 여러 개의 컨테이너를 조율하여 편리하고, 안정적이면서 효율적인 컨테이너 환경으로 애플리케이션을 실행시키는 역할을 컨테이너 오케스트레이션이라고 합니다. 쿠버네티스가 컨테이너 오케스트레이션을 수행하는 대표적인 소프트웨어입니다.
▶ 도커(Docker)
가장 잘 알려진 단일 컨테이너 런타임(컨테이너를 쉽게 공유하고 구동할 수 있도록 하는 소프트웨어)입니다. 쿠버네티스와 달리 한 개의 컨테이너를 구동할 때 유용합니다.
▶ 쿠버네티스(Kubernetes)
사실상 업계 표준으로 자리잡은 ‘컨테이너 오케스트레이터(Orchestrator)’입니다. 그리스 어로 ‘키 잡이’를 뜻하는 쿠버네티스는 어원 그대로 여러 개의 컨테이너를 오케스트레이션(조율, 통제, 조정)하는 기능입니다. 서비스를 개발하게 되면 데이터베이스, 프론트엔드, 백엔드 등 여러 컨테이너를 오케스트레이션하는 작업이 필요하기도 하고 수 천 개의 마이크로서비스를 컨테이너화하여 관리할 필요가 생기는데요. 쿠버네티스는 ‘컨테이너 런타임’을 통해 다수의 컨테이너를 자동으로 시작, 중지, 관리할 수 있어 편리하고 인적 오류를 방지할 수 있어 정확합니다.
쿠버네티스(Kubernetes)를 더욱 쉽게, 관리형 쿠버네티스 서비스
운영 체제를 포함하여 가상화하는 컨테이너 가상화 기술을 시작으로 한 개의 컨테이너를 쉽게 관리하는 도구인 도커, 수 천 개의 컨테이너를 자동으로 오케스트레이션해 주는 도구인 쿠버네티스까지…
애플리케이션을 더욱 다양한 환경에 쉽고 빠르게 배포하기 위한 노력이 새로운 기술로 이어지고 있습니다. NHN Cloud에서는 클라우드 인프라 환경에서 쿠버네티스를 더욱 쉽고 안전하게 이용할 수 있도록, NHN Cloud Kubernetes Service(NKS)라는 관리형 쿠버네티스 서비스를 제공합니다.
- Compute, Network, Storage 등 NHN Cloud의 기반 서비스와 연동하여, NHN Cloud에 최적화된 쿠버네티스 클러스터를 생성하고 관리할 수 있습니다.
- 쿠버네티스 클러스터를 콘솔에서 쉽게 생성, 삭제, 조회할 수 있습니다.
- 쿠버네티스 최신화 버전을 지원합니다.
또한, NHN Cloud는 클라우드 쿠버네티스 표준을 관리하는 CNCF(Cloud Native Computing Foundation)가 공인한 쿠버네티스 서비스 제공사입니다. CNCF는 NHN Cloud를 쿠버네티스 기술력 및 지원/컨설팅 역량, 다수의 고객 경험, ‘공인 쿠버네티스 관리자’ 자격을 보유한 전문 인력 등 여러 자격 조건에 부합한 파트너에게 공식 인정한 바, 이를 통해 NHN Cloud의 쿠버네티스 기술력이 입증되었습니다. [관련 기사 보기: NHN클라우드, ‘공인 쿠버네티스 서비스 제공사(KCSP)’ 자격 획득]
컨테이너와 쿠버네티스를 실제 운영환경에 바로 적용할 수 있는 방법이 궁금하시다면,
아래 웨비나를 주목해 주세요. 컨테이너와 쿠버네티스, 나아가 보안 사고에 대응할 수 있는 쿠버네티스 전략까지, NHN Cloud의 NKS와 NCR을 통한 실습으로 확인해 보세요.