Jump to section

쿠버네티스 클러스터(Kubernetes cluster)란?

URL 복사

쿠버네티스 클러스터는 애플리케이션 컨테이너를 실행하기 위한 일련의 노드 머신입니다. 쿠버네티스를 실행 중이라면 클러스터를 실행하고 있는 것입니다.

최소 수준에서 클러스터는 컨트롤 플레인 및 하나 이상의 컴퓨팅 머신 또는 노드를 포함하고 있습니다. 컨트롤 플레인은 어느 애플리케이션을 실행하고 애플리케이션이 어느 컨테이너 이미지를 사용할지와 같이 클러스터를 원하는 상태로 유지 관리합니다. 노드는 애플리케이션과 워크로드를 실제로 실행합니다.

클러스터는 쿠버네티스의 핵심 장점입니다. 즉 물리 머신, 가상 머신, 온프레미스, 클라우드에 구애받지 않고 머신 그룹 전체에서 컨테이너를 예약하고 실행할 수 있습니다. 쿠버네티스 컨테이너는 개별 머신에 연결되지 않습니다. 대신에 클러스터 전체에서 추상화됩니다.

쿠버네티스 클러스터에는 원하는 상태가 있으며, 이 상태는 실행해야 할 애플리케이션이나 워크로드, 사용하는 이미지, 사용할 수 있는 리소스 등과 같은 기타 구성 세부 사항을 정의합니다.

원하는 상태는 매니페스트로 이루어진 구성 파일로 정의됩니다. 매니페스트란 실행할 애플리케이션의 유형과 정상적인 시스템을 실행하기 위해 필요한 복제본의 수를 선언하는 JSON 또는 YAML 파일입니다.

원하는 클러스터 상태는 쿠버네티스 API로 정의됩니다. 이러한 정의는 커맨드라인에서(kubectl 사용) 또는 API를 사용해 클러스터와 상호 작용하여 원하는 상태를 설정하거나 수정할 수 있습니다.

쿠버네티스는 원하는 상태에 부합하도록 자동으로 클러스터를 관리합니다. 간단한 예로 애플리케이션의 복제본 3개가 실행되어야 함을 뜻하는 “3”을 원하는 상태로 하여 애플리케이션을 배포한다고 가정해 보겠습니다. 이 컨테이너 중 하나가 충돌하면 쿠버네티스는 복제본이 2개만 실행 중임을 확인하고 1개를 추가하여 원하는 상태를 충족합니다.

쿠버네티스 패턴을 사용하여 로드에 따라 클러스터 규모를 자동으로 관리할 수도 있습니다. 

Red Hat은 클러스터를 일련의 노드로 정의하였습니다. 클러스터가 하는 일을 이해하는 데 도움이 되는 몇 가지 다른 쿠버네티스 용어를 살펴보겠습니다.

컨트롤 플레인: 쿠버네티스 노드를 제어하는 프로세스의 컬렉션입니다. 여기에서 모든 태스크 할당이 시작됩니다.

노드: 컨트롤 플레인에서 할당된 요청 태스크를 수행하는 머신입니다.

포드: 단일 노드에 배포되는 하나 이상의 컨테이너 집합입니다. 포드는 가장 작고 단순한 쿠버네티스 오브젝트입니다.

서비스: 일련의 포드에서 네트워크 서비스로 실행 중인 애플리케이션을 노출하는 방식입니다. 이로 인해 작업 정의가 포드에서 분리됩니다.

볼륨: 포드의 컨테이너에 액세스할 수 있는 데이터가 포함된 디렉토리입니다. 쿠버네티스 볼륨은 이 볼륨을 묶는 포드와 수명이 같습니다. 볼륨은 포드 내에서 실행되는 모든 컨테이너보다 오래 지속되며, 컨테이너를 다시 시작해도 데이터는 보존됩니다.

네임스페이스: 가상 클러스터입니다. 네임스페이스를 통해 쿠버네티스는 동일한 물리 클러스터 내에 있는 여러 클러스터(여러 팀 또는 프로젝트 용도)를 관리할 수 있습니다.

현대적인 클라우드 네이티브 애플리케이션으로 인해 쿠버네티스 환경은 고도로 분산되고 있습니다. 즉, 온프레미스의 여러 데이터센터, 퍼블릭 클라우드 및 엣지 전반에 배포될 수 있습니다.

쿠버네티스를 규모에 따라 또는 프로덕션에서 사용하려는 조직은 개발, 테스트, 프로덕션 등을 위해 환경 전반에 분산된 멀티플 클러스터를 보유하고 있으므로 이러한 클러스터를 효율적으로 관리할 수 있어야 합니다.

쿠버네티스 클러스터 관리란 IT 팀이 쿠버네티스 클러스터 그룹을 관리하는 방식입니다. 

Red Hat은 쿠버네티스를 비롯한 오픈소스 컨테이너 기술의 선두주자이자 활발한 구축자로서 컨테이너 인프라 보안, 간소화, 자동 업데이트를 위한 필수 툴을 개발합니다. 

Red Hat® OpenShift®는 엔터프라이즈급 쿠버네티스 배포판입니다. Red Hat OpenShift를 통해 팀은 운영 및 개발 팀을 위한 단일 통합 플랫폼을 얻게 됩니다. Red Hat OpenShift는 개발자에게 언어, 프레임워크, 미들웨어 및 데이터베이스를 선택할 수 있도록 하며 CI/CD를 통한 자동화 구축 및 배포로 생산성을 극대화합니다.

OpenShift 기반으로 구축되어 있으며, Red Hat Advanced Cluster Management와 Red Hat Ansible® Automation Platform을 함께 활용하여 퍼블릭 클라우드, 온프레미스 환경, 엣지 환경을 포함한 여러 위치에서 쿠버네티스 클러스터를 효율적으로 배포하고 관리할 수 있습니다.

하이브리드 환경의 구축과 자동화를 위해 Red Hat이 지원하는 방법을 알아보세요

 

추가 자료

문서

컨테이너와 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