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

URL 복사

컨테이너 오케스트레이션은 컨테이너 라이프사이클 전반에 걸쳐 컨테이너의 배포, 관리, 확장 및 네트워킹을 자동화하는 프로세스입니다. 이를 통해 동일한 애플리케이션을 재설계할 필요 없이 여러 다른 환경에 배포할 수 있습니다. 이는 특히 수백, 수천 개의  Linux® 컨테이너와 호스트를 배포하고 관리해야 하는 기업에 있어 중요한 장점입니다.

오케스트레이션을 통해 컨테이너의 라이프사이클을 관리하는 것은 이를  지속적 통합 및 지속적 제공(Continuous Integration and Continuous Delivery, CI/CD) 워크플로우에 통합하는 DevOps 팀에게도 도움이 됩니다. 컨테이너화된 마이크로서비스는 애플리케이션 프로그래밍 인터페이스(Application programming interface, API) 및 DevOps 팀과 함께 클라우드 네이티브 애플리케이션의 기반입니다.

쿠버네티스를 통한 엔터프라이즈 컨테이너 오케스트레이션 소개

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

  • 프로비저닝 및 배포
  • 구성 및 스케줄링 
  • 리소스 할당
  • 컨테이너 가용성 
  • 인프라 전반의 워크로드 분산을 기반으로 한 컨테이너 확장 또는 제거
  • 부하 분산 및 트래픽 라우팅 
  • 컨테이너 상태 모니터링
  • 애플리케이션이 실행될 컨테이너를 기반으로 애플리케이션 구성
  • 컨테이너 간 상호작용 보안 유지

Red Hat 리소스

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

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

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

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

더 넓은 범위에서, 쿠버네티스는 프로덕션 환경에서 컨테이너 기반 인프라를 완전히 구현하고 사용할 수 있도록 합니다.

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

쿠버네티스는 설계를 변경하지 않고 애플리케이션을 이동할 수 있어 워크로드 이식성과 부하 분산도 지원합니다. 

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

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

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

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

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

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

쿠버네티스 배포를 활용하여 애플리케이션을 업데이트하는 방법 알아보기

실제 프로덕션 애플리케이션은 여러 컨테이너에 걸쳐 있으며 이러한 컨테이너는 여러 서버 호스트에 배포되어야 합니다. Red Hat®은 이러한 경우에 적합합니다.

Red Hat OpenShift®​​​​​는 기업의 쿠버네티스뿐만 아니라 다양한 분야에도 사용할 수 있습니다. OpenShift에는 레지스트리, 네트워킹, 텔레메트리, 보안, 자동화, 서비스 등의 부가 기술이 모두 포함되어 있어 기업에서 강력하고 실효성 있는 쿠버네티스를 구축할 수 있게 합니다.

또한 Red Hat Service Interconnect, 라우터, 게이트웨이와 같은 툴을 통해 다양한 유형의 클라우드, 엣지 기기, 일반 쿠버네티스 및 OpenShift의 서비스 간에 신뢰할 수 있는 통신 링크를 제공합니다.

개발자는 Red Hat의 고가용성, 확장성, 제어, 오케스트레이션 기능을 활용하여 컨테이너화된 새 애플리케이션을 구축 및 호스팅하고 클라우드에 배포함으로써 혁신적인 아이디어를 빠르고 쉽게 새로운 비즈니스로 구체화할 수 있습니다.

Red Hat OpenShift에 대해 자세히 알아보기

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

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

자세히 알아보기체험하기
허브

레드햇 공식 블로그

레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.

모든 Red Hat 제품 체험판

무료 제품 체험판을 통해 핸즈온 경험을 얻고, 자격증 시험에 대비하거나 해당 제품이 조직에 적합한지 평가할 수 있습니다.

추가 자료

쿠버네티스(Kubernetes, k8s)란? 개념, 사용법, 특징 및 차이점

쿠버네티스(Kubernetes, k8s)는 컨테이너 오케스트레이션과 자동화 도구로 컨테이너화된 애플리케이션 관리와 배포를 수행하는 플랫폼입니다. 개념과 사용법을 알아보세요.

서버리스 아키텍처 비교: 레드햇 오픈시프트 서버리스 소개

레드햇 오픈시프트 서버리스는 쿠버네티스를 기반으로 서버리스 워크로드를 배포하고 관리하도록 지원합니다. 서버리스 아키텍처의 차별성과 활용 방법을 알아보세요.

쿠버네티스 Java 클라이언트란?

쿠버네티스 Java 클라이언트는 쿠버네티스와 상호 작용할 수 있도록 Java 프로그래밍 언어 사용을 지원하는 클라이언트 라이브러리입니다.

컨테이너 리소스

관련 기사