109. 멀티 클러스터 (Multi-Cluster) 및 연합 (Federation) 아키텍처

⚠️ 이 문서는 한 회사에서 운영하는 쿠버네티스(K8s) 클러스터가 1대(서울 리전)로 돌아가다가 지진이 나서 회사가 통째로 망하거나 서버가 1만 대로 늘어나 K8s 마스터 뇌가 터져버리는 끔찍한 한계를 돌파하기 위해, **서울, 부산, 심지어 미국(AWS)과 사내 전산실(On-premise)에 흩어져 있는 각기 다른 10개의 거대한 K8s 클러스터들을 하나로 묶어, 마치 1개의 우주적인 슈퍼 클러스터처럼 중앙 통제실에서 한 방에 파드를 뿌리고 지휘하는 초광역 분산망인 '멀티 클러스터 연합(Kubefed/Karmada)'**을 다룹니다.

핵심 인사이트 (3줄 요약)

  1. 본질: 쿠버네티스를 쿠버네티스답게 다루는 상위 포식자다. "1개의 마스터가 1,000대의 노드를 관리"하는 걸 넘어, "1개의 중앙 연합 마스터(Federation Control Plane)가 전 세계 10개의 독립된 K8s 클러스터를 한 손에 쥐고 흔드는" 제국의 황제 아키텍처다.
  2. 가치: 서울 클러스터에 운석이 떨어져(재해 발생) 박살이 나도, 0.1초 만에 일본에 있는 클러스터로 1만 개의 파드가 자동 복제되어 살아나는 **무결점 재해복구(DR, 고가용성)**와, 사내 전산실 서버가 꽉 차면 넘치는 트래픽만 슬쩍 아마존 AWS 클라우드로 밀어버리는 **클라우드 버스팅(Cloud Bursting)**의 기적을 이룩한다.
  3. 기술 체계: 초창기 실패작인 Kubefed(v1, v2)를 넘어, 최근에는 기존 K8s API를 100% 찰떡같이 호환시키고 10개 클러스터 간의 라우팅과 배포를 완벽히 통제하는 중국 주도의 차세대 괴물 엔진 **Karmada(카르마다)**가 대세로 천하 통일을 진행 중이다.

Ⅰ. 싱글 클러스터(Single Cluster)의 붕괴: 제국을 찢어야 산다

한 바구니에 수만 개의 계란을 담으면 마스터 뇌가 터져 죽는다.

  1. 단일 장애점(SPOF)과 폭발 반경(Blast Radius)의 공포:
    • 회사가 돈을 아끼겠다고 서버 5,000대를 묶어 거대한 '초대형 K8s 클러스터' 딱 1개만 만들었다.
    • 어느 날 신입사원이 K8s 심장(etcd DB)을 실수로 날려 먹거나, 클러스터 업그레이드를 치다가 코어 네트워크가 꼬였다.
    • 5,000대 서버에 떠 있던 회사의 모든 파드 10만 개가 일제히 의문사하며 회사가 그날로 문을 닫는다. 이것이 **폭발 반경(장애 시 타격받는 범위)**이 극대화된 1개 클러스터 몰빵의 최후다.
  2. 5,000 노드(Node)의 물리적 한계:
    • 쿠버네티스 오픈소스 본가는 "1개의 클러스터는 최대 5,000대의 노드(서버)까지만 붙여 써라"라고 공식 권고한다.
    • 이걸 넘어 1만 대를 1개 클러스터에 붙이면, 마스터 노드(API Server)가 각 노드 상태를 3초마다 체크하느라 심장에 무리가 와서 핑퐁 트래픽만으로 과부하가 터진다.
  3. 멀티 클러스터 (Multi-Cluster)로의 진화 선언:
    • 아키텍트의 결단. "클러스터 1개를 5,000대로 키우지 마! 500대짜리 클러스터를 10개로 잘게 쪼개서 분산시켜!"
    • 서울에 3개, 도쿄에 3개, 미국에 4개의 클러스터를 각각 뚝뚝 떨어뜨려 짓는다. 1번 클러스터가 폭파되어도 나머지 9개의 클러스터는 1도 타격을 안 받게(격리) 생존율이 수직 상승한다.

📢 섹션 요약 비유: 제국 하나를 통치하는데 황제(마스터 노드) 1명이 5,000개의 마을(노드)을 직접 다스리면, 황제가 과로사로 쓰러지는 순간 제국 5,000개 마을 전체가 멸망합니다(폭발 반경). 멀티 클러스터는 제국을 10개의 독립된 주로 찢고, 주마다 영주(각 클러스터 마스터)를 1명씩 박아넣는 것입니다. 서울 영주가 독살(해킹/장애) 당해도, 부산 영주와 도쿄 영주의 땅은 아무런 타격 없이 100% 정상적으로 무역(트래픽)을 돌릴 수 있는 궁극의 분산 방어벽입니다.


Ⅱ. 연합 (Federation)의 마법: 10개 제국을 하나의 황제로

클러스터를 10개 쪼갰더니 이번엔 개발자가 배포하다 멘붕에 빠졌다.

  1. 운영 지옥(Ops Hell)의 재림:
    • 클러스터를 10개(서울 3개, 도쿄 3개...) 찢어놓으니 데브옵스 엔지니어 피가 마른다.
    • 새 버전 앱을 하나 배포하려면, 터미널을 열고 1번 클러스터 비밀번호 치고 들어가서 kubectl apply 쾅! 2번 클러스터 비밀번호로 들어가서 또 쾅!... 이 짓을 10번이나 반복해야 한다(노가다). 하나라도 실수하면 도쿄 서버만 옛날 버전이 도는 대참사가 난다.
  2. K8s Federation (연합군 사령부)의 탄생:
    • 이 10개의 쪼개진 클러스터들 위에 **'연합군 사령부(Federation Control Plane)'**라는 거대한 슈퍼 마스터 뇌를 딱 1개 띄운다.
    • 개발자는 이제 10개 클러스터 비밀번호를 알 필요가 없다. 그냥 이 슈퍼 사령부 딱 1곳에만 들이대고 kubectl apply -f myapp.yaml 1번만 쾅! 치면 끝이다.
  3. 분배의 마법 (Placement & Overrides):
    • 슈퍼 사령부의 AI가 10개 클러스터 상태를 굽어살핀 뒤, "음, 이 파드 100개는 서울 클러스터에 50개, 부산에 30개, 도쿄에 20개 뿌려놔라(Placement)!"라며 자기 발밑에 있는 10개 클러스터로 명령(yaml)을 1초 만에 복사해서 쫙 분산 투하해 버린다.
    • 더 미친 건 'Overrides(덮어쓰기)' 기능이다. "도쿄에 뿌릴 때는 도커 이미지 버전을 일본어 전용(v2-jp)으로 살짝 글자만 고쳐서 뿌려라!"라고 10개 클러스터마다 입맛에 맞게 yaml 텍스트를 실시간으로 살짝 변형해 쏴주는 극강의 무인 자동화 배포가 완성된다.

📢 섹션 요약 비유: 전국에 직영점(클러스터)을 10개 냈더니, 사장님(개발자)이 매일 10개 지점을 차 타고 돌면서 햄버거 레시피(yaml)를 전달하느라 과로사 직전입니다. **Federation(연합)**은 서울 본사에 '슈퍼 팩스 기계(사령부)' 딱 1대를 놓은 것입니다. 사장님이 본사 팩스 기계에 레시피 1장만 넣고 전송을 누르면, 전국 10개 지점장들 팩스로 동시에 레시피가 지이잉 쏟아져 나옵니다. 심지어 부산 지점 팩스에는 "여긴 밀면 추가해"라고 글씨가 살짝 수정되어(Overrides) 전송되는, 미친듯한 다중 클러스터 중앙 통제 시스템입니다.


Ⅲ. 멀티 클러스터 최강의 전술: 클라우드 버스팅과 Karmada

사내 서버가 뻗으면, 넘치는 빗물만 아마존(AWS)으로 흘려보낸다.

  1. 클라우드 버스팅 (Cloud Bursting)의 실현:
    • 회사 전산실(On-prem)에 K8s 클러스터(100대)를 굴리고 있다. 평소엔 공짜라 좋다.
    • 1년에 한 번 블랙프라이데이 때 파드 500개가 필요한데 사내 기계가 모자라서 터지게 생겼다.
    • 연합(Federation) 사령부가 출동한다. 사령부는 평소엔 사내망 클러스터만 쓰다가, 트래픽이 터지는 그 순간(Burst) AWS 클라우드에 떠 있는 예비 K8s 클러스터(EKS)로 남는 파드 400개를 빛의 속도로 스파크 튀듯 확장(배포)시켜 꽂아버린다. 폭풍이 지나가면 AWS 파드를 죽여 요금을 아낀다. 온프레미스와 클라우드를 넘나드는 하이브리드 끝판왕 전술이다.
  2. 차세대 제왕: Karmada (카르마다):
    • 구글이 옛날에 만든 Kubefed v1, v2는 문법이 너무 이상하고 복잡해서 전 세계 데브옵스들이 욕을 하며 갖다 버렸다.
    • 최근 화웨이 등 중국과 글로벌 진영이 합심해 만든 오픈소스 **Karmada**가 세상을 제패하고 있다.
    • Karmada의 깡패 짓: 기존 쿠버네티스의 쌩얼 deployment.yaml 파일을 1글자도 수정할 필요가 없다! 그냥 던지면 자기가 알아서 10개 클러스터의 CPU 남는 양을 계산해서, "서울 클러스터 CPU 남네? 여기 파드 30개 박아!"라며 동적 스케줄링을 완벽하게 수행하는 미친 두뇌를 장착했다.
    • 10개의 클러스터가 지리적으로 분산되어 핑(Ping)이 끊겨도, 카르마다가 멱살 잡고 좀비 파드들을 복구시키며 전 지구적 무중단 무장애 서비스를 굴려내는 초거대 인프라의 마스터피스로 등극했다.

📢 섹션 요약 비유: 평소엔 집 앞마당 텃밭(사내 온프레미스 클러스터)에서 배추 100포기를 키웁니다. 갑자기 김장철에 배추 1만 포기(폭주 트래픽) 주문이 터졌습니다! 텃밭이 터져나갈 때, 농장주(연합 사령부)는 당황하지 않고 1초 만에 옆 동네 거대한 유료 대여 농장(AWS 클라우드 클러스터)에 파이프를 꽂아 나머지 9,900포기 씨앗을 미친 듯이 뿌려버립니다(클라우드 버스팅). 주문이 끝나면 대여 농장을 칼같이 해지하여 돈을 아끼는, 지구 전체를 하나의 거대한 텃밭처럼 자유자재로 찢었다 붙였다 하는 **Karmada(초광역 농기계)**의 압도적인 스케일링 권력입니다.