topics 컨테이너 오케스트레이션 컨테이너 오케스트레이션이란 무엇인가요?
IBM의 컨테이너 오케스트레이션 솔루션 살펴보기 클라우드 업데이트 구독
컴퓨터 모니터, 서버, 구름, 점의 픽토그램 콜라주가 포함된 일러스트
컨테이너 오케스트레이션이란 무엇인가요?

컨테이너 오케스트레이션은 컨테이너화된 애플리케이션의 프로비저닝, 배포 및 관리를 자동화하고 간소화합니다.

오늘날 Kubernetes는 가장 인기 있는 컨테이너 오케스트레이션 플랫폼이며, Amazon Web Services(AWS), Google Cloud Platform, IBM Cloud 및 Microsoft Azure를 비롯한 대부분의 주요 퍼블릭 클라우드 제공업체는 매니지드 Kubernetes 서비스를 제공합니다. 다른 컨테이너 오케스트레이션 툴로는 Docker Swarm 및 Apache Mesos가 있습니다.

하이브리드 클라우드의 전체 가치 실현

시스템을 연결하고 통합하여 AI를 위한 인프라를 준비하세요.

관련 내용

DaaS 가이드 등록하기

컨테이너와 컨테이너에 오케스트레이션이 필요한 이유에 대해 자세히 알아보기

컨테이너는 애플리케이션 소스 코드와 모든 환경에서 코드를 실행하는 데 필요한 모든 운영 체제(OS) 라이브러리 및 종속성을 결합하는 경량의 실행 가능한 애플리케이션 구성 요소입니다. 

컨테이너를 생성하는 기능은 수십 년 전부터 존재해 왔지만, 2008년에 Linux가 커널에 컨테이너 기능을 포함하면서 널리 사용되기 시작했고, 2013년에 Docker 오픈 소스 컨테이너화 플랫폼이 등장하면서 널리 사용되기 시작했습니다. ('Docker 컨테이너'와 '컨테이너'가 종종 같은 의미로 사용될 정도로 Docker의 인기가 높습니다.) 

컨테이너는 가상 머신(VM)보다 더 작고 리소스 효율적이며 휴대성이 뛰어나기 때문에 컨테이너, 특히 컨테이너화된 마이크로서비스 또는 서버리스 기능이 최신 클라우드 네이티브 애플리케이션실질적인 컴퓨팅 단위로 자리 잡았습니다. (컨테이너의 이점에 대한 자세한 내용은 아래의 대화형 데이터 시각화 자료를 참고하세요.)

적은 수의 컨테이너는 수동으로 배포하고 관리할 수 있을 만큼 쉽습니다. 그러나 대부분의 조직에서 컨테이너화된 애플리케이션의 수는 빠르게 증가하고 있으며, 특히 지속적 통합/지속적 배포(CI/CD) 또는 DevOps 파이프라인의 일부로 이러한 애플리케이션을 대규모로 관리하는 것은 자동화 없이는 불가능합니다.

컨테이너화된 애플리케이션 및 서비스 배포 및 실행과 관련된 운영 작업을 자동화하는 컨테이너 오케스트레이션을 시작하세요. 최근 IBM 연구에 따르면, 컨테이너를 사용하는 개발자의 70%가 컨테이너 오케스트레이션 솔루션을 사용하고 있으며, 이 중 70%는 조직에서 풀 매니지드(클라우드 매니지드) 컨테이너 오케스트레이션 서비스를 사용하고 있다고 응답했습니다.

보고서 전문 다운로드: 엔터프라이즈 내 컨테이너
컨테이너 오케스트레이션 작동 방식

툴마다 방법론과 기능에 차이가 있지만, 컨테이너 오케스트레이션은 기본적으로 3단계 프로세스(또는 반복적인 애자일 또는 DevOps 파이프라인의 일부인 경우 사이클)로 이루어집니다.

대부분의 컨테이너 오케스트레이션 툴은 선언적 구성 모델을 지원합니다. 개발자가 원하는 구성 상태를 정의하는 구성 파일(툴에 따라 YAML 또는 JSON 형식)을 작성하면, 파일을 실행하는 오케스트레이션 도구는 자체 인텔리전스를 사용하여 해당 상태를 달성합니다. 구성 파일은 일반적으로 다음과 같습니다.

  • 애플리케이션을 구성하는 컨테이너 이미지 및 해당 이미지가 있는 위치(레지스트리)를 정의합니다.

  • 컨테이너에 스토리지 및 기타 리소스를 프로비저닝합니다.

  • 컨테이너 간의 네트워크 연결을 정의하고 보호합니다.

  • 버전 관리 지정(단계적 또는 카나리 롤아웃용)

오케스트레이션 도구는 사용 가능한 CPU 용량, 메모리 또는 구성 파일에 지정된 기타 요구 사항이나 제약 조건에 따라 최적의 호스트를 선택하여 컨테이너(및 복원력을 위한 컨테이너 복제본)를 호스트에 배포하도록 계획합니다. 

컨테이너가 배포되면 오케스트레이션 도구는 컨테이너 정의 파일(대부분 Docker 파일)을 기반으로 컨테이너화된 애플리케이션의 라이프사이클을 관리합니다. 여기에는 다음 사항이 포함됩니다. 

  • 컨테이너 간 확장성(위 및 아래), 부하 분산 및 리소스 할당 관리

  • 가동 중단 또는 시스템 리소스 부족 시 컨테이너를 다른 호스트로 재배치하여 가용성 및 성능 보장

  • 애플리케이션의 상태와 성능을 모니터링하는 데 사용되는 로그 데이터 및 기타 원격 측정을 수집하고 저장

컨테이너 오케스트레이션의 이점


컨테이너 오케스트레이션의 가장 큰 장점은 자동화이며, 이는 컨테이너화된 대규모 애플리케이션 자산을 관리하는 데 드는 노력과 복잡성을 크게 줄여 주기 때문만은 아닙니다. 오케스트레이션은 운영을 자동화함으로써 팀은 신속한 반복 주기로 개발 및 배포하고 새로운 요소와 기능을 더 빠르게 출시할 수 있는 애자일 또는 DevOps 접근 방식을 지원합니다.

또한 오케스트레이션 툴의 인텔리전스는 컨테이너화에 내재된 많은 이점을 향상 또는 확장할 수 있습니다. 예를 들어 선언적 구성을 기반으로 하는 자동화된 호스트 선택 및 리소스 할당은 컴퓨팅 리소스의 효율적인 사용을 극대화하고, 자동화된 상태 모니터링 및 컨테이너 재배치는 가용성을 극대화합니다.

Kubernetes

위에서 언급한 바와 같이, Kubernetes는 가장 널리 사용되는 컨테이너 오케스트레이션 플랫폼입니다. 컨테이너 에코시스템의 다른 툴과 함께 Kubernetes는 기업이 클라우드 네이티브 애플리케이션 개발과 관련된 많은 인프라 및 운영 관련 작업과 문제를 해결하는 생산성 높은 서비스형 플랫폼(PaaS)을 제공함으로써 개발팀이 코딩과 혁신에만 집중할 수 있도록 지원합니다.

다른 오케스트레이션 솔루션에 비해 Kubernetes의 장점은 주로 다음과 같은 여러 영역에서 더 포괄적이고 정교한 기능에 기인합니다.

  • 컨테이너 배포: Kubernetes는 지정된 수의 컨테이너를 지정된 호스트에 배포하고 원하는 상태로 계속 실행합니다.

  • 롤아웃: 롤아웃은 배포 상태를 변경하는 것입니다. Kubernetes를 사용하면 롤아웃을 시작, 일시 중지, 재개 또는 롤백할 수 있습니다.

  • 서비스 검색: Kubernetes는 DNS 이름 또는 IP 주소를 사용하여 컨테이너를 인터넷이나 다른 컨테이너에 자동으로 노출할 수 있습니다.

  • 스토리지 프로비저닝: 개발자는 필요에 따라 컨테이너에 대한 영구 로컬 또는 클라우드 스토리지를 탑재하도록 Kubernetes를 설정할 수 있습니다.

  • 로드 밸런싱 및 확장성: 컨테이너에 대한 트래픽이 급증하면 Kubernetes는 로드 밸런싱 및 확장을 사용하여 네트워크 전체에 트래픽을 분산함으로써 안정성과 성능을 보장할 수 있습니다. (또한 개발자가 로드 밸런서를 설정하는 작업도 줄일 수 있습니다.)

  • 고가용성을 위한 자가 복구: 컨테이너에 장애가 발생하면 Kubernetes는 컨테이너를 자동으로 재시작하거나 교체할 수 있습니다. 또한 상태 확인 요구 사항을 충족하지 않는 컨테이너를 삭제할 수도 있습니다.

     
  • 여러 클라우드 공급업체의 지원 및 이식성: 앞서 언급했듯이 Kubernetes는 모든 주요 클라우드 제공업체에서 폭넓은 지원을 받고 있습니다. 이는 하이브리드 클라우드 또는 하이브리드 멀티클라우드 환경에 애플리케이션을 배포하는 조직에 특히 중요합니다.

  • 오픈 소스 도구의 에코시스템 성장: 또한, Kubernetes는 Kubernetes API를 통해 기능을 강화하기 위해 지속적으로 확장되는 사용성 및 네트워킹 도구를 보유하고 있습니다. 여기에는 컨테이너를 서버리스 워크로드로 실행할 수 있는 Knative와 오픈 소스 서비스 메시인 ISTIO가 포함됩니다. 

Kubernetes에 대해 자세히 알아보기

관련 솔루션
Red Hat OpenShift on IBM Cloud

Red Hat OpenShift on IBM Cloud는 퍼블릭 및 하이브리드 환경에서 속도, 시장 대응력, 확장성, 안정성을 위해 OpenShift를 활용합니다.

Red Hat OpenShift on IBM Cloud 살펴보기
IBM Cloud Satellite

IBM Cloud Satellite를 통해 온프레미스, 에지, 퍼블릭 클라우드 환경 등 어느 곳에서나 일관성 있는 클라우드 서비스를 실행할 수 있습니다.

IBM Cloud Satellite 살펴보기
IBM Cloud Code Engine

컨테이너 이미지, 배치 작업 또는 소스 코드를 서버리스 워크로드로 실행하므로 크기 조정, 배포, 네트워킹 또는 확장이 필요하지 않습니다. 

IBM Cloud Code Engine 살펴보기
IBM Turbonomic으로 Kubernetes 최적화

Kubernetes 환경과 미션 크리티컬 앱이 SLO를 충족하는 데 필요한 작업을 정확하게 수행할 수 있도록 올바른 리소스 할당 작업 및 작업 시기를 자동으로 결정합니다.

IBM Turbonomic 살펴보기
리소스 엔터프라이즈의 컨테이너

IBM의 새로운 연구 결과는 컨테이너 및 Kubernetes 도입의 급증하는 모멘텀을 보여 줍니다.

클라우드와 기존 IT의 장점 결합

컨테이너 오케스트레이션은 어디서나 워크로드를 구축하고 관리할 수 있는 오픈 하이브리드 클라우드 전략의 핵심 구성 요소입니다.

Docker란?

Docker는 컨테이너화된 애플리케이션을 구축, 배포, 관리하기 위한 오픈 소스 플랫폼입니다.

다음 단계 안내

Red Hat OpenShift on IBM Cloud는 개발자가 빠르고 안전하게 엔터프라이즈 워크로드를 컨테이너화하여 Kubernetes 클러스터에 배포할 수 있는 방법을 제공합니다. 보안 관리, 규정 준수 관리, 배포 관리, 지속적인 라이프사이클 관리와 관련된 지루하고 반복적인 작업을 제거하세요. 

Red Hat OpenShift on IBM Cloud 살펴보기 무료로 시작하기