본문으로 건너뛰기

A.1. 용어 사전

멀티클러스터 관련 용어

Control Plane (컨트롤 플레인)

멀티클러스터 환경을 관리하는 중앙 제어 시스템입니다. MCM에서는 Karmada 기반의 컨트롤 플레인을 사용하여 여러 멤버 클러스터를 통합 관리합니다.

주요 역할:

  • 멤버 클러스터 등록 및 관리
  • 리소스 전파 정책 실행
  • 멀티클러스터 스케줄링
  • 클러스터 상태 모니터링

Member Cluster (멤버 클러스터)

컨트롤 플레인에 등록되어 관리되는 개별 Kubernetes 클러스터입니다. 실제 워크로드가 실행되는 클러스터입니다.

특징:

  • 컨트롤 플레인에 에이전트가 설치됨
  • 독립적인 Kubernetes 클러스터로 동작
  • 여러 클라우드/온프레미스 환경에 분산 가능

Host Cluster (호스트 클러스터)

컨트롤 플레인이 설치되어 실행되는 클러스터입니다. 멀티클러스터 관리의 중심 역할을 합니다.

Push Mode / Pull Mode

멤버 클러스터와 컨트롤 플레인 간의 통신 방식입니다.

모드설명사용 사례
Push Mode컨트롤 플레인이 멤버 클러스터에 직접 리소스를 푸시네트워크 접근이 가능한 환경
Pull Mode멤버 클러스터의 에이전트가 컨트롤 플레인에서 리소스를 풀방화벽 뒤의 클러스터

정책 관련 용어

PropagationPolicy (전파 정책)

Kubernetes 리소스를 여러 멤버 클러스터에 배포하는 규칙을 정의하는 리소스입니다.

주요 설정:

  • 대상 리소스 선택 (Resource Selector)
  • 대상 클러스터 선택 (Cluster Affinity)
  • 복제본 스케줄링 전략

범위:

  • PropagationPolicy: 네임스페이스 범위
  • ClusterPropagationPolicy: 클러스터 범위

OverridePolicy (오버라이드 정책)

리소스가 멤버 클러스터에 전파될 때 클러스터별로 리소스 속성을 변경하는 규칙을 정의하는 리소스입니다.

오버라이더 타입:

타입설명
imageOverrider컨테이너 이미지 변경
commandOverrider컨테이너 명령어 변경
argsOverrider컨테이너 인자 변경
labelsOverrider레이블 추가/수정/삭제
annotationsOverrider어노테이션 추가/수정/삭제
plaintextOverriderJSON 패치를 통한 임의 필드 수정
fieldOverrider특정 필드 값 변경

범위:

  • OverridePolicy: 네임스페이스 범위
  • ClusterOverridePolicy: 클러스터 범위

Resource Selector (리소스 셀렉터)

정책이 적용될 대상 리소스를 선택하는 조건입니다.

선택 기준:

  • API Version (예: apps/v1)
  • Kind (예: Deployment)
  • Name (리소스 이름)
  • Namespace (네임스페이스)
  • Label Selector (레이블 기반 선택)

Cluster Affinity (클러스터 어피니티)

리소스가 배포될 대상 클러스터를 선택하는 조건입니다.

선택 방법:

  • clusterNames: 클러스터 이름 직접 지정
  • labelSelector: 클러스터 레이블 기반 선택
  • fieldSelector: 클러스터 필드 기반 선택
  • exclude: 제외할 클러스터 지정

바인딩 및 스케줄링 용어

ResourceBinding (리소스 바인딩)

전파 정책이 적용되면 생성되는 중간 리소스입니다. 리소스와 대상 클러스터 간의 바인딩 정보를 담고 있습니다.

상태:

상태설명
Scheduled스케줄링 완료
FullyApplied모든 클러스터에 적용 완료
Applied일부 클러스터에 적용

범위:

  • ResourceBinding: 네임스페이스 리소스용
  • ClusterResourceBinding: 클러스터 범위 리소스용

Work (워크)

멤버 클러스터에 실제로 전파되는 리소스 매니페스트를 담은 리소스입니다. 각 멤버 클러스터마다 별도의 Work 객체가 생성됩니다.

Replica Scheduling (복제본 스케줄링)

워크로드 복제본을 여러 클러스터에 분산하는 방식입니다.

타입설명
Duplicated각 클러스터에 동일한 복제본 수 배포
Divided클러스터 간 복제본 분할 배포

분할 방식:

  • Weighted: 가중치 기반 분할
  • Aggregated: 클러스터 리소스 기반 자동 분할

Kubernetes 기본 용어

Namespace (네임스페이스)

Kubernetes 클러스터 내에서 리소스를 논리적으로 분리하는 가상의 클러스터입니다. 팀, 프로젝트, 환경별로 리소스를 격리할 수 있습니다.

Deployment (디플로이먼트)

애플리케이션의 선언적 업데이트를 관리하는 워크로드 리소스입니다. ReplicaSet을 관리하고 롤링 업데이트, 롤백 기능을 제공합니다.

StatefulSet (스테이트풀셋)

상태를 가진 애플리케이션을 관리하는 워크로드 리소스입니다. 고유한 네트워크 ID와 영구 스토리지를 제공합니다.

DaemonSet (데몬셋)

모든 (또는 일부) 노드에 Pod 복사본을 실행하는 워크로드 리소스입니다. 로그 수집, 모니터링 에이전트 등에 사용됩니다.

Job (잡)

일회성 작업을 실행하는 워크로드 리소스입니다. 작업이 완료되면 Pod가 종료됩니다.

CronJob (크론잡)

주기적으로 Job을 생성하여 반복 작업을 실행하는 리소스입니다. Unix cron 형식의 스케줄을 사용합니다.

Pod (파드)

Kubernetes에서 생성하고 관리할 수 있는 가장 작은 배포 가능 단위입니다. 하나 이상의 컨테이너를 포함합니다.

ReplicaSet (레플리카셋)

지정된 수의 Pod 복제본을 유지하는 리소스입니다. 일반적으로 Deployment를 통해 간접적으로 관리됩니다.

Service (서비스)

Pod 집합에 대한 네트워크 서비스를 정의하는 추상화입니다. 로드 밸런싱과 서비스 디스커버리를 제공합니다.

서비스 타입:

타입설명
ClusterIP클러스터 내부 IP (기본값)
NodePort노드 포트로 외부 노출
LoadBalancer외부 로드 밸런서 사용
ExternalName외부 DNS 이름 매핑

Ingress (인그레스)

클러스터 외부에서 클러스터 내부 서비스로 HTTP/HTTPS 라우팅을 관리하는 리소스입니다.

ConfigMap (컨피그맵)

비밀이 아닌 구성 데이터를 키-값 쌍으로 저장하는 리소스입니다. Pod에서 환경 변수, 명령줄 인자, 설정 파일로 사용할 수 있습니다.

Secret (시크릿)

비밀번호, 토큰, 키 등 민감한 정보를 저장하는 리소스입니다. Base64로 인코딩되어 저장됩니다.

PersistentVolumeClaim (PVC)

사용자가 스토리지를 요청하는 리소스입니다. PersistentVolume을 동적 또는 정적으로 바인딩합니다.

HorizontalPodAutoscaler (HPA)

CPU, 메모리 또는 커스텀 메트릭을 기반으로 워크로드의 복제본 수를 자동 조정하는 리소스입니다.

Label (레이블)

리소스에 부착하는 키-값 쌍의 메타데이터입니다. 리소스 선택 및 그룹화에 사용됩니다.

Annotation (어노테이션)

리소스에 부착하는 비식별 메타데이터입니다. 도구, 라이브러리, 클라이언트가 사용하는 정보를 저장합니다.


MCM 콘솔 UI 용어

Topology (토폴로지)

클러스터, 네임스페이스, 워크로드 간의 관계를 시각적으로 표현하는 그래프 뷰입니다. 리소스 간의 연결 관계와 전파 상태를 한눈에 파악할 수 있습니다.

Drawer (드로어)

리소스 상세 정보를 표시하는 측면 패널입니다. 오버레이 모드에서 목록을 보면서 동시에 상세 정보를 확인할 수 있습니다.

Badge (배지)

리소스 타입이나 상태를 나타내는 작은 라벨입니다.

배지의미
PPPropagationPolicy
CPPClusterPropagationPolicy
OPOverridePolicy
COPClusterOverridePolicy
DDeployment
SSStatefulSet
DSDaemonSet

Scope (범위)

정책이나 리소스가 적용되는 범위입니다.

범위설명
네임스페이스 범위특정 네임스페이스 내에서만 유효
클러스터 범위클러스터 전체에서 유효

상태 관련 용어

Ready (준비됨)

클러스터나 리소스가 정상적으로 동작하고 요청을 처리할 수 있는 상태입니다.

Healthy / Unhealthy

클러스터나 리소스의 건강 상태를 나타냅니다.

상태설명
Healthy정상 동작 중
Unhealthy문제 발생, 주의 필요

Propagation Status (전파 상태)

리소스가 멤버 클러스터에 전파되는 상태를 나타냅니다.

상태설명
전파중리소스가 대상 클러스터에 전파 중
완료모든 클러스터에 전파 완료
실패전파 실패
일시중지전파가 일시 중지됨

Conditions (조건)

리소스의 현재 상태를 나타내는 조건 목록입니다. 각 조건은 타입, 상태(True/False/Unknown), 사유, 메시지를 포함합니다.


약어 및 축약어

약어전체 명칭설명
MCMMulti-Cluster Management멀티클러스터 관리
K8sKubernetes컨테이너 오케스트레이션 플랫폼
APIApplication Programming Interface애플리케이션 프로그래밍 인터페이스
YAMLYAML Ain't Markup Language데이터 직렬화 언어
JSONJavaScript Object Notation데이터 교환 형식
RBACRole-Based Access Control역할 기반 접근 제어
CRDCustom Resource Definition사용자 정의 리소스 정의
CRCustom Resource사용자 정의 리소스
PVPersistentVolume영구 볼륨
PVCPersistentVolumeClaim영구 볼륨 클레임
HPAHorizontalPodAutoscaler수평 파드 오토스케일러
DNSDomain Name System도메인 이름 시스템
TLSTransport Layer Security전송 계층 보안
SSLSecure Sockets Layer보안 소켓 레이어

관련 문서