Jump to section

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

URL 복사

2023 글로벌 기술 전망: Red Hat 리포트

2023 글로벌 기술 전망을 다운로드하여 전세계 IT 리더 1,703명을 대상으로 한 설문조사 결과를 살펴보고 2023년 기업의 최우선 과제를 확인하세요!

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

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

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

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

원하는 상태는 매니페스트로 이루어진 구성 파일로 정의됩니다. 매니페스트란 실행할 애플리케이션의 유형과 정상적인 시스템을 실행하기 위해 필요한 복제본의 수를 선언하는 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를 통한 자동화 구축 및 배포로 생산성을 극대화합니다.

Keep reading

Article

What's a Linux container?

A Linux container is a set of processes isolated from the system, running from a distinct image that provides all the files necessary to support the processes.

Article

Containers vs VMs

Linux containers and virtual machines (VMs) are packaged computing environments that combine various IT components and isolate them from the rest of the system.

Article

What is container orchestration?

Container orchestration automates the deployment, management, scaling, and networking of containers.

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

제품

자동화된 풀스택 오퍼레이션으로 하이브리드 클라우드, 멀티클라우드 및 엣지 배포를 관리하는 엔터프라이즈급 쿠버네티스 컨테이너 플랫폼입니다.

리소스

교육

무료 교육 과정

Running Containers with Red Hat Technical Overview

무료 교육 과정

Containers, Kubernetes and Red Hat OpenShift Technical Overview

무료 교육 과정

Developing Cloud-Native Applications with Microservices Architectures

Illustration - mail

유용한 콘텐츠 더 보기

Red Hat Shares 뉴스레터를 구독해 보세요(무료).