본문 바로가기
개발/CKA

cluster architecture 개념

by ny0011 2024. 2. 1.
반응형

 

GPT한테 배에 비유해서 알려달라고 했더니 이렇게 얘기하는구만

 

쿠버네티스의 클러스터 아키텍처를 배에 비유하여 설명해드리겠습니다.

  1. 배 (Cluster): 배는 쿠버네티스 클러스터 전체를 나타냅니다. 배는 여러 개의 선박으로 구성되어 있으며, 각 선박은 독립적으로 작동할 수 있습니다.
  2. 선박 (Node): 선박은 클러스터 내에서 실제로 작업을 수행하는 컴퓨터 또는 가상 머신입니다. 선박은 워커 노드(Worker Node) 또는 노드(Node)로도 불립니다. 각 선박은 쿠버네티스 마스터와 통신하며, 클러스터 내에서 컨테이너화된 애플리케이션을 실행합니다.
  3. 선장 (Master): 선장은 클러스터의 제어를 담당하는 중앙 집중화된 컴퓨터 또는 가상 머신입니다. 선장은 클러스터의 상태를 관리하고, 선박들에게 작업을 할당하며, 클러스터 내의 리소스를 효율적으로 관리합니다.
  4. 컨테이너 (Container): 컨테이너는 애플리케이션과 해당 종속성을 격리된 환경에서 실행하는 가상화 기술입니다. 쿠버네티스 클러스터 내에서 애플리케이션은 컨테이너로 패키징되어 선박들에서 실행됩니다.
  5. 파드 (Pod): 파드는 쿠버네티스에서 가장 작은 배포 단위입니다. 파드는 하나 이상의 컨테이너로 구성되어 있으며, 같은 파드 내의 컨테이너들은 동일한 선박에서 실행됩니다. 파드는 선박에 할당되어 실행되며, 선박은 파드의 생명주기를 관리합니다.
  6. 서비스 (Service): 서비스는 쿠버네티스 클러스터 내에서 파드에 대한 네트워크 접근성을 제공하는 추상화된 개념입니다. 서비스는 로드 밸런싱, 서비스 디스커버리, DNS 이름 등을 제공하여 파드에 접근할 수 있도록 합니다.

이렇게 배에 비유하여 설명하면, 쿠버네티스 클러스터는 여러 선박(노드)으로 구성되어 있으며, 선장(마스터)은 선박들을 관리하고 작업을 할당합니다. 각 선박은 컨테이너(애플리케이션)를 실행하며, 서비스는 파드에 대한 네트워크 접근성을 제공합니다.

 

위의 내용을 대강 정리하면

클러스터 = 제일 큰 단위(엄청 큰 배)

마스터 = 클러스터를 관리하고 노드를 스케줄링하고 모니터링하는 역할(선장, 컨트롤타워)

노드 = 클러스터가 시키는 일을 하는 곳(작은 배)

파드 = 노드에서 실행되는 일이고(컨테이너 묶음)

컨테이너 = 일의 종류나 역할에 따라 나누어진 것

서비스 = 클러스터 내의 노드나 파드를 연결해주는 것(무전 통신?)

 

파드가 노드로 전달될 때 

어떤 파드가 어떤 노드로 전달 되었는지, 언제 전달되었는지 등을 기록하는 곳

= Etcd(DB)

 

사용할 수 있는 노드가 있을 때

이 노드의 제약사항 (HW spec, 정책, 조건 등) 을 보고 실행할 수 있는 파드의 종류를 결정하는 곳 

= 스케쥴러

 

쿠버네티스가 실행되면서 발생하는 다양한 일들에 대해 

어떻게 하면 된다고 요청을 하면 요청을 실제로 처리하는 곳

= 컨트롤러 매니저/ 노드 컨트롤러/ 레플리카 컨트롤러 등

 

컨트롤 매니저, etcd, 스케줄러 등이 의사소통할 때 사용하는 것

= kube API 서버(kube-apiserver)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'개발 > CKA' 카테고리의 다른 글

cka 강의 듣기  (0) 2024.02.01

댓글