Jump to section

컨테이너 오케스트레이션이란?

URL 복사

컨테이너 오케스트레이션은 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화합니다. 수백 또는 수천 개의 Linux® 컨테이너와 호스트를 배포하고 관리해야 하는 기업에서는 컨테이너 오케스트레이션을 활용할 수 있습니다. 

컨테이너 오케스트레이션은 컨테이너를 사용하는 어떤 환경에서든 사용할 수 있습니다. 또한 재설계할 필요 없이 각기 다른 환경 전반에 동일한 애플리케이션을 배포하는 데에도 도움이 됩니다. 컨테이너에 마이크로서비스를 구현하면 스토리지, 네트워킹, 보안과 같은 서비스를 간편하게 오케스트레이션할 수 있습니다. 

컨테이너는 마이크로서비스 기반 애플리케이션에 이상적인 애플리케이션 배포 유닛 및 독립적인 실행 환경을 제공합니다. 동일한 하드웨어의 마이크로서비스에서 애플리케이션의 여러 부분들을 독립적으로 실행시키고 개별 요소 및 라이프사이클을 더욱 효과적으로 제어할 수 있습니다.

오케스트레이션을 통해 컨테이너 라이프사이클을 관리하면 CI/CD 워크플로우에 이를 통합하는 DevOps 팀을 지원할 수도 있습니다. 컨테이너화된 마이크로서비스는 애플리케이션 프로그래밍 인터페이스(API) 및 DevOps 팀과 함께 클라우드 네이티브 애플리케이션의 기반을 이룹니다.

컨테이너 오케스트레이션을 사용해 다음과 같은 태스크를 자동화하고 관리할 수 있습니다.

  • 프로비저닝 및 배포
  • 구성 및 일정 조정 
  • 리소스 할당
  • 컨테이너 가용성nbsp;
  • 인프라 전반의 워크로드 밸런싱을 기반으로 컨테이너 스케일링 또는 제거
  • 로드 밸런싱 및 트래픽 라우팅 
  • 컨테이너 상태 모니터링
  • 실행될 컨테이너를 기반으로 애플리케이션 설정
  • 컨테이너 간 상호 작용의 보안 유지

컨테이너 오케스트레이션 툴은 컨테이너와 마이크로서비스 아키텍처를 규모에 따라 관리할 프레임워크를 제공합니다. 컨테이너 라이프사이클 관리에 사용할 수 있는 컨테이너 오케스트레이션 툴은 다양하며, 그중 쿠버네티스, Docker Swarm, Apache Mesos가 널리 사용됩니다.

쿠버네티스는 원래 Google 엔지니어들이 개발하고 설계한 오픈소스 컨테이너 오케스트레이션 툴입니다. 2015년에 Google은 새로 설립된 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation)에 쿠버네티스 프로젝트를 기부했습니다.

쿠버네티스 오케스트레이션을 사용하면 여러 컨테이너에 걸쳐 애플리케이션 서비스를 구축하고 클러스터 전체에서 컨테이너의 일정을 계획하고 이러한 컨테이너를 확장하여 컨테이너의 상태를 지속적으로 관리할 수 있습니다.

쿠버네티스에서는 애플리케이션 컨테이너를 배포하고 확장하는 데 수동 프로세스가 대부분 필요하지 않습니다. Linux 컨테이너를 실행하는 호스트 그룹(물리적 머신 또는 가상 머신 모두 가능)을 함께 클러스터링할 수 있으며 쿠버네티스를 통해 이러한 클러스터를 쉽고 효율적으로 관리할 수 있습니다. 

더 넓게 보면, 프로덕션 환경에 컨테이너 기반 인프라를 완전히 구현해서 사용할 수 있습니다.

클러스터는 퍼블릭, 프라이빗 또는 하이브리드 클라우드 전체로 호스트를 확장할 수 있습니다. 이러한 이유로 쿠버네티스는 신속한 확장을 요하는 클라우드 네이티브 애플리케이션을 호스팅하는 데 이상적인 플랫폼입니다.

또한 재설계할 필요 없이 애플리케이션을 이동할 수 있도록 지원하므로 워크로드 이식성과 로드 밸런싱에도 도움이 됩니다. 

쿠버네티스의 주요 구성 요소:

  • 클러스터: 컨트롤 플레인 및 하나 이상의 컴퓨팅 머신 또는 노드입니다.
  • 컨트롤 플레인: 쿠버네티스 노드를 제어하는 프로세스의 컬렉션입니다. 여기에서 모든 태스크 할당이 시작됩니다.
  • Kubelet: 이 서비스는 노드에서 실행되며 컨테이너 매니페스트를 읽고, 정의된 컨테이너가 시작되어 실행 중인지 확인합니다.
  • 포드: 단일 노드에 배포된 하나 이상의 컨테이너 그룹입니다. 포드에 있는 모든 컨테이너는 IP 주소, IPC, 호스트 이름, 기타 리소스를 공유합니다.

쿠버네티스와 같은 컨테이너 오케스트레이션 툴을 사용할 때는 YAML 또는 JSON 파일을 사용해 애플리케이션 설정에 대해 설명하게 됩니다. 설정 파일은 설정 관리 툴에 컨테이너 이미지의 위치와 네트워크를 구축하는 방법, 로그를 저장할 장소를 알려줍니다.

새 컨테이너를 배포할 때 컨테이너 관리 도구는 정의된 요구 사항 또는 제한 사항을 고려하여 배포를 클러스터에 자동으로 예약하고 올바른 호스트를 찾습니다. 그러면 오케스트레이션 툴이 작성 파일에 정의된 사양에 따라 컨테이너의 라이프사이클을 관리합니다.

쿠버네티스 패턴을 사용하여 컨테이너 기반 애플리케이션 및 서비스의 설정, 라이프사이클, 스케일을 관리할 수 있습니다. 전체 시스템을 구축하려는 쿠버네티스 개발자에게는 이러한 반복 가능한 패턴이 필요합니다. 

컨테이너 오케스트레이션은 온프레미스 서버와 퍼블릭 또는 프라이빗 클라우드 환경 등 컨테이너를 구동하는 모든 환경에서 사용할 수 있습니다.

실제 프로덕션 애플리케이션은 여러 컨테이너에 걸쳐 있으며 이러한 컨테이너는 여러 서버 호스트에 배포되어야 합니다. Red Hat® OpenShift®는 바로 이 부분을 처리합니다. Red Hat OpenShift는 기업의 쿠버네티스뿐만 아니라 다양한 분야에도 사용할 수 있습니다.

Red Hat OpenShift에는 레지스트리, 네트워킹, 텔레메트리, 보안, 자동화, 서비스 등을 비롯한 부가 기술이 모두 내장되어 있어서 기업이 강력하고 실효성있는 쿠버네티스를 구축할 수 있습니다.

Red Hat OpenShift를 사용하면 개발자는 확장성, 제어, 오케스트레이션을 통해 컨테이너화된 새 애플케이션을 구축 및 호스팅하고 클라우드에 배포함으로써 우수한 아이디어를 새로운 비즈니스에 신속하게 연결할 수 있습니다.

퍼블릭 클라우드, 프라이빗 클라우드 및 데이터센터 전반에서 인증 소프트웨어를 사용해보고 구매 및 관리할 수 있습니다. Red Hat Marketplace를 이용하면 가능합니다. 이미 사용 중인 소프트웨어에 액세스하고, 통합 쿠버네티스 기반 환경에 구축하고, 어디에서든 배포할 수 있는 더욱 간편한 방법입니다.

Red Hat Marketplace를 이용하면 라이센스, 자격, 만료를 추적하는 업무 대신 혁신 솔루션 개발에 더 많은 시간을 할애할 수 있습니다.

추가 자료

문서

컨테이너와 VM 비교

Linux 컨테이너 및 VM(가상 머신)은 다양한 IT 요소를 결합해 시스템의 나머지 부분으로 부터 격리하는 패키징된 컴퓨팅 환경입니다.

문서

컨테이너 오케스트레이션이란?

컨테이너 오케스트레이션은 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화합니다.

문서

Linux 컨테이너란?

Linux 컨테이너는 시스템에서 격리된 프로세스로, 이러한 프로세스를 지원하는 데 필요한 모든 파일을 제공하는 고유한 이미지에서 실행됩니다.

컨테이너에 대한 자세한 내용

제품

선택한 인프라에서 애플리케이션 출시 테스트를 완료한 통합 서비스 세트를 포함하는 엔터프라이즈 애플리케이션 플랫폼입니다.

리소스

교육

무료 교육 과정

Running Containers with Red Hat Technical Overview

무료 교육 과정

Containers, Kubernetes and Red Hat OpenShift Technical Overview

무료 교육 과정

Developing Cloud-Native Applications with Microservices Architectures