로그인 / 등록 Account

컨테이너

쿠버네티스 클러스터란?

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

기본적으로 클러스터에는 작업자 노드와 마스터 노드가 포함됩니다. 마스터 노드는 어느 애플리케이션을 실행하고 애플리케이션이 어느 컨테이너 이미지를 사용할지와 같이 클러스터를 원하는 상태로 유지 관리합니다. 작업자 노드는 애플리케이션과 워크로드를 실제로 실행합니다.

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

쿠버네티스 클러스터로 어떤 작업을 할 수 있나요?

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

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

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

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

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

클러스터는 노드, 포드, 기타 쿠버네티스 용어와 어떤 관련이 있나요?

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

마스터 노드: 쿠버네티스 노드를 제어하는 머신입니다. 여기에서 모든 태스크 할당이 시작됩니다.

작업자 노드: 할당된 태스크를 요청대로 수행하는 머신입니다. 쿠버네티스 마스터가 이러한 노드를 제어합니다.

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

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

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

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

쿠버네티스에 Red Hat OpenShift를 선택해야 하는 이유는 무엇입니까?

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

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