← 기술 목록으로

K8s 하이브리드 클러스터 확장 (IDC + In-house)

NAT로 직접 접근이 막힌 환경에서 WireGuard 터널로 In-house 서버를 기존 IDC Kubernetes 클러스터에 합류시켜 단일 사이트 한계를 넘은 하이브리드 클러스터로 확장

기간2026 (3월~)
소속래브라도랩스(LabradorLabs)
역할Kubernetes 용량·네트워크 확장 담당
KubernetesWireGuardNATGit-SyncMulti-site

1왜 클러스터를 늘렸나

기존 Kubernetes 클러스터는 IDC 서버 2대로 운영되고 있었습니다. 80개가 넘는 크롤러가 비슷한 시간에 실행되면 자원이 한꺼번에 소진됐고, 일주일에 70~100건씩 Pod 할당 실패가 쌓였습니다.

기존 클러스터를 처음 설계한 것은 제가 아닙니다. 제가 맡은 일은 이 구조를 계속 운영할 수 있도록 용량과 네트워크 토폴로지를 손보는 것이었습니다.

22대에서 6대로 확장

사내에서 쉬고 있던 서버 4대를 워커로 쓰기로 했습니다. 다만 IDC와 사내망 사이에 NAT가 있어 노드를 그대로 붙일 수 없었습니다.

IDC의 기존 Kubernetes 노드 2대와 In-house 워커 4대를 WireGuard와 NAT 라우팅으로 연결한 하이브리드 클러스터 구성도
IDC 2대와 In-house 4대를 양방향 WireGuard 경로로 묶고 Kubernetes API·Pod·NFS 트래픽을 함께 조정했습니다.

WireGuard로 양방향 경로를 만들고 kubelet이 VPN IP를 사용하도록 고정했습니다. Kubernetes API, NFS, Pod 네트워크가 터널을 통과하도록 DNAT·MASQUERADE 규칙과 스토리지 ACL도 함께 조정했습니다.

3확장하면서 실제로 부딪힌 문제

4결과

클러스터 규모 — 기존 IDC 2대에 In-house 4대를 추가해 총 6대로 확장
Pod 할당 실패 — 주 70~100건에서 주 1~5건으로 감소
운영 방식 — 만료·DNS·라우팅 문제를 알림과 런북으로 관리

5제가 맡은 부분

용량 부족 원인 확인, 확장안과 VPN 토폴로지 설계, 노드 합류, 네트워크·DNS·스토리지 장애 대응을 맡았습니다. 개별 크롤러 코드는 각 담당자가 관리했고, 공통 실행 환경과 클러스터 운영은 제가 책임졌습니다.