← Projects

CLODIS Cloud

연구실 서버 3대에 구축한 RKE2 기반 VM·컨테이너·GPU 작업 환경

역할
인프라 설계 · 구축 · 검증
구성
3노드 · Kubernetes 등록 GPU 2장
주요 기술
RKE2 · Rancher · KubeVirt · CDI
기록 기준
구성: 2026.10.22
기능 검증: 2026.10.15–16

사용자별 VM과 GPU 작업 환경

  • 연구실의 VM·컨테이너 자원을 Kubernetes에서 관리하는 3노드 클러스터
  • 사용자 인증을 거친 API·CLI로 VM과 디스크를 생성·관리하는 셀프서비스 구성
  • Rancher 기반 인증·클러스터 관리, Kubernetes Job·vLLM 기반 GPU 작업 환경 구성

3노드 클러스터와 노드 로컬 스토리지

  • CP: control plane·etcd·워크로드 실행, Worker 1·2: worker 역할
  • KubeVirt·CDI로 VM과 디스크 이미지 관리, local-path 기반 PV/PVC 사용
CPU
논리 CPU 132개 — CP 64개 · Worker 1 12개 · Worker 2 56개
메모리
Kubernetes 인식 용량 약 1,316.7GiB — CP 251.5GiB · Worker 1 62.4GiB · Worker 2 1,002.7GiB
GPU
Kubernetes 등록 기준 Quadro RTX 6000 1장 · GeForce RTX 5090 1장
사용자 공간
개인 namespace 10개 · VM·디스크 관리 권한 계정 9개 · 읽기 전용 계정 1개
네트워크
RKE2 Canal · Tailscale을 통한 노드 간 Pod 오버레이
스토리지
local-path PV/PVC · 노드 로컬 디스크
CP가 control plane과 etcd를 담당하고 Worker 1·2가 참여하는 3노드 RKE2 구성. 논리 CPU 132개, Kubernetes 인식 메모리 약 1316.7GiB. GPU는 CP와 Worker 1에 각각 1개 등록되어 있으며 Worker 2는 GPU 드라이버 검증 대기 상태.

사용자 권한으로 VM과 디스크 관리

  • KubeVirt·CDI와 사용자별 RBAC를 구성해 승인된 Ubuntu 이미지로 VM 생성 및 데이터 디스크 연결
  • 사용자 Rancher 인증을 거친 Kubernetes API port-forward와 게스트 공개키 인증으로 SSH 접속
  • 실제 학부연구생 계정으로 로그인한 뒤 사용자 API를 통한 VM·루트 디스크 생성 확인
  • 10GiB 데이터 디스크 생성·연결 및 VM 내부 SSH 접속 확인
  • VM 중지·시작 후 루트·데이터 디스크의 파일 유지 확인
  • 사용자 API를 통한 VM·Service·디스크 삭제 확인

허용 작업과 차단 요청 검증

  • namespace별 RBAC·ResourceQuota·NetworkPolicy·ValidatingAdmissionPolicy 구성
  • 다른 사용자 namespace의 VM API 접근 거부 확인
  • PVC 요청량 합계 40GiB 상한에 대해 41GiB 요청 거부 확인
  • 서버 dry-run에서 hostDisk 사용과 CPU requests·limits 불일치 요청 거부 확인
  • 일반 대학원생 계정 4개로 GPU Job 실행 및 종료 코드 0 확인
  • GPU 2개 요청·특권 Job·타 namespace 요청 거부 및 GPU 1개 쿼터 초과 Job 차단 확인

Rancher VPN 접속 장애 해결

  • 증상: VPN 주소로 직접 접속하면 시간 초과, SSH 터널을 통한 접속은 정상
  • 분석: tcpdump로 인터페이스별 패킷을 비교해 VPN으로 들어온 요청의 응답이 다른 터널로 나가는 현상 확인
  • 원인: Calico의 패킷 mark와 Tailscale 정책 라우팅 조건이 겹쳐 잘못된 응답 경로 선택
  • 수정: Calico의 mark 비트 영역을 분리하고 RKE2 HelmChartConfig에 저장, Canal Pod 순차 교체
  • 검증: CA 인증서 검증을 사용한 VPN 직접 접속에서 HTTP 200 확인
  • 회귀 검사: 노드 간 Pod 통신·256KiB 전송·DNS·Service 접근·namespace 격리 등 연결성 검사 11개가 변경 전후 모두 통과
  • 기존 실행 워크로드의 상태와 재시작 횟수 유지 확인