← AI 용어집

AI 용어집 · 기초 · AI 플랫폼·솔루션 · 효율·인프라

쿠버네티스 Kubernetes, K8s

쿠버네티스는 컨테이너(프로그램과 실행 환경을 한 상자에 담은 것)를 여러 서버에 나눠 띄우고, 멈추면 다시 살리고, 사용량에 맞춰 늘리거나 줄이는 일을 자동으로 해 주는 오픈소스 관리 시스템이다. 흔히 K8s라고 줄여 쓴다.

쉽게 말하면 항구 관제소에 비유할 수 있다. "이 화물 상자를 항상 세 개씩 띄워 둬"라고 말해 두면, 관제소가 빈자리가 있는 부두를 골라 배치하고 상자가 떨어지면 새로 채워 넣는다. 다만 실제로는 관제 규칙을 직접 정의해야 할 일이 많아, 비유만큼 손이 덜 가는 것은 아니다.

어떻게 작동하나

사용자는 "이 프로그램을 몇 개 띄우고, GPU가 필요하다" 같은 '원하는 상태'를 설정 파일로 적어 둔다. 쿠버네티스의 두뇌인 컨트롤 플레인(API 서버·스케줄러 등)이 이를 받아, 실제 서버인 노드 가운데 자원이 맞는 곳을 골라 파드(컨테이너를 실행하는 가장 작은 단위)를 배치한다. 웹 API처럼 가벼운 일은 CPU 노드에, 모델 서빙처럼 무거운 일은 GPU 노드에 놓을 수 있다. 이후에도 현재 상태를 계속 감시해 원하는 상태와 다르면, 예컨대 파드가 죽으면 다시 띄워 맞춘다.

쿠버네티스가 일하는 방식원하는 상태 → 컨트롤 플레인(선언); 컨트롤 플레인 → CPU 노드(배치); 컨트롤 플레인 → GPU 노드(배치); CPU 노드 → 상태 감시; GPU 노드 → 상태 감시; 상태 감시 → 컨트롤 플레인(비교·조정)원하는 상태설정 파일컨트롤 플레인API 서버·스케줄러CPU 노드웹 API 파드GPU 노드모델 서빙 파드상태 감시파드가 죽으면다시 띄움선언배치배치비교·조정
쿠버네티스가 일하는 방식 사용자가 원하는 상태를 적으면 컨트롤 플레인이 노드에 파드를 배치하고, 상태를 계속 감시해 어긋나면 다시 맞춘다.

왜 중요한가

서버가 수십, 수백 대로 늘어나면 사람이 하나하나 프로그램을 올리고 관리하기 어렵다. 쿠버네티스는 배포, 장애 복구, 자동 확장을 표준 방식으로 처리해 주어 사실상 클라우드 인프라의 공통 언어가 되었다. AI 분야에서는 모델 서빙, 학습 작업, 데이터 파이프라인을 GPU 클러스터 위에 올리고 비싼 GPU를 여러 팀이 나눠 쓰게 하는 기반으로 널리 쓰인다.

알아 둘 점

구성 요소와 개념이 많아 배우고 운영하기가 쉽지 않다. 그래서 많은 기업이 클라우드 회사가 대신 운영해 주는 관리형 쿠버네티스(예: Amazon EKS, Google GKE, Azure AKS)를 쓴다. GPU를 쓰려면 드라이버와 장치 플러그인 같은 추가 설정이 필요하고, 설정이 조금만 어긋나도 학습이나 서빙이 제대로 돌지 않을 수 있다. 작은 서비스에는 오히려 과한 도구일 수도 있다.

예시

이 사이트에 소개된 'NVIDIA, GPU 쿠버네티스 클러스터 구성 검증 도구 AICR v1.0 공개' 소식은 GPU를 쿠버네티스로 묶어 쓸 때 설정이 제대로 되었는지 점검하는 일이 얼마나 중요한지를 보여 준다. 실제로 많은 기업이 LLM 서빙 서버를 쿠버네티스 위에 올려, 요청이 몰리면 모델 서빙 파드를 자동으로 늘리고 한가해지면 줄여 GPU 비용을 아낀다.

이 사이트에서 나온 사례

함께 보면 좋은 용어