클러스터 (Cluster)

개념

클러스터(cluster)는 공통의 목표를 위해 작동하는 컴퓨터 또는 애플리케이션들의 그룹이다. 클라우드 네이티브 컴퓨팅의 관점에서, 이 용어는 쿠버네티스에 가장 일반적으로 적용된다. 쿠버네티스 클러스터는 컨테이너를 통해 실행되는 서비스(또는 워크로드) 집합이며, 이는 보통 서로 다른 머신(machines)에서 구동된다. 네트워크를 통해 연결된 모든 컨테이너화 (containerized)된 서비스의 모음(collection)은 클러스터를 나타낸다.

다루는 문제

단일 컴퓨터에서 실행되는 소프트웨어는 단일 장애점(single point of failure)를 가지며 (컴퓨터가 고장(crashes) 나거나 또는 누군가 뜻하지 않게 전원 케이블을 뽑은 경우), 이런 경우 일부 중요 비지니스(business-critical) 시스템이 오프라인 상태가 될 수 있다. 따라서 현대적인 소프트웨어는 일반적으로 분산 애플리케이션으로 구축되고, 하나의 클러스터로 그룹을 이룬다.

문제 해결 방식

클러스터링 된 분산 애플리케이션은 여러 머신에 걸쳐 실행되므로 단일 장애점을 제거할 수 있다. 그렇지만, 분산 시스템을 구축하는 것은 상당히 어렵다. 사실, 그 자체가 하나의 온전한 자격을 갖춘 컴퓨터 과학 분야이다.

글로벌 시스템의 필요성과 수년간의 시행착오를 통해 새로운 종류의 기술 스택인 클라우드 네이티브 기술이 개발되었다. 이러한 새로운 기술들은 분산 시스템의 운영과 생성을 더욱 쉽게 만드는 구성 요소(building blocks)이다.


최근 수정 September 6, 2022: [ko] Translate 'Cluster' (#1131) (1e12c22)