Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Kubernetes

Kubernetes(K8s)는 클러스터 전체에서 컨테이너를 실행하고, 선언된 수의 복제본이 정상 상태를 유지하도록 하며, GPU 학습 및 추론 작업을 스케줄링합니다.

Kubernetes(줄여서 K8s)는 머신 클러스터 전반에서 컨테이너화된 애플리케이션을 실행하는 오픈 소스 시스템입니다. 사용자는 실행할 컨테이너 이미지, 유지할 복제본 수, 각 복제본에 필요한 CPU, 메모리, GPU 용량 등 워크로드의 원하는 상태를 선언합니다. Kubernetes는 이 상태에 맞게 컨테이너를 지속적으로 시작, 재시작, 이동, 확장합니다. Google은 내부 Borg 클러스터 관리자를 기반으로 이 프로젝트를 개발해 2014년 6월 발표했으며, 2015년 7월 버전 1.0을 새로 설립된 Cloud Native Computing Foundation의 시드 프로젝트로 제공했습니다. 이름은 그리스어로 조타수를 뜻하며, K8s는 K와 s 사이의 여덟 글자를 대체한 표기입니다. 머신러닝 운영(MLOps)에서 Kubernetes는 공유 하드웨어에서 분산 학습 작업, 배치 추론, 모델 서빙을 실행하는 일반적인 기반 계층입니다.

아키텍처와 제어 루프#

클러스터는 컨트롤 플레인과 워커 노드로 구성됩니다. 컨트롤 플레인에는 모든 클라이언트가 통신하는 API 서버, 클러스터 상태를 저장하는 etcd, 새 파드를 노드에 할당하는 스케줄러, 각기 한 종류의 객체를 감시하는 컨트롤러가 있습니다. 온프레미스 서버든 클라우드 가상 머신이든 각 워커 노드에서는 kubelet 에이전트와 containerd 또는 CRI-O와 같은 컨테이너 런타임이 실행됩니다. Kubernetes에서 스케줄링하는 가장 작은 단위는 파드입니다. 파드는 네트워크 주소와 스토리지 볼륨을 공유하는 하나 이상의 컨테이너로 구성됩니다.

워크로드는 보통 YAML로 작성하고 kubectl을 사용해 적용하는 객체로 선언합니다. Deployment는 지정된 수의 동일한 파드를 실행 상태로 유지하고 이미지가 바뀌면 파드를 점진적으로 교체합니다. Service는 해당 파드에 안정적인 주소 하나를 제공하고 요청을 분산합니다. Job은 작업이 완료될 때까지 파드를 실행합니다. 컨트롤러는 선언된 상태와 실제 실행 상태를 비교하고 차이가 있으면 조치를 취합니다.

같은 제어 루프는 Kubernetes의 자가 복구 기능도 제공합니다. 노드에 장애가 발생하면 해당 노드의 파드가 실행 상태에서 빠지고, 컨트롤러는 정상 노드에 대체 파드를 생성합니다. 용량 부족으로 Pending 상태에 남은 파드는 클러스터 오토스케일러가 노드를 추가하는 신호로도 사용됩니다.

머신러닝을 위한 Kubernetes#

디바이스 플러그인은 GPU를 nvidia.com/gpu과 같은 수량화 가능한 리소스로 제공해 파드에서 사용할 수 있게 합니다. Kubernetes 1.34부터 안정화된 동적 리소스 할당은 파드가 GPU 모델이나 메모리와 같은 속성을 기준으로 디바이스를 요청하도록 합니다. NVIDIA의 GPU Operator는 GPU 노드에 드라이버와 플러그인을 설치하며, 하나의 GPU를 Multi-Instance GPU 슬라이스로 나누거나 여러 파드가 시간 분할 방식으로 공유하도록 할 수 있습니다. OpenAI는 2021년에 GPT-3 및 CLIP과 같은 모델을 학습하기 위해 단일 Kubernetes 클러스터를 7,500개 노드로 확장했다고 보고했습니다.

오픈 소스 프로젝트는 머신러닝 전용 계층을 추가합니다.

  • Kubeflow: 클러스터에서 분산 PyTorch 학습, 머신러닝 파이프라인, 노트북을 실행합니다.
  • Kueue: 배치 및 학습 작업을 대기열에 넣고 팀별 할당량을 적용하여, 한 팀이 고가의 GPU를 모두 독점하지 않으면서 GPU를 효율적으로 사용하도록 합니다.
  • KServe: 사용하지 않는 모델을 0으로 축소하는 기능을 포함해 오토스케일링 엔드포인트를 통해 모델을 서빙합니다.
  • 수평 파드 오토스케일러: CPU 사용량이나 대기열 길이와 같은 사용자 지정 지표에 따라 추론 복제본을 추가하거나 제거하여 트래픽이 바뀌어도 지연 시간을 일정하게 유지합니다.

Job은 배치 추론과 같은 일회성 GPU 작업을 실행하는 가장 간단한 방법입니다. 공식 Ultralytics Docker 이미지에는 yolo 명령과 YOLO26 nano 가중치가 이미 포함되어 있으므로, 이 Job에서는 명령을 지정하고 GPU 하나를 요청하기만 하면 됩니다.

apiVersion: batch/v1
kind: Job
metadata:
  name: yolo26-predict
spec:
  backoffLimit: 2 # retry a failed pod at most twice
  template:
    spec:
      restartPolicy: Never
      containers:
        - name: yolo
          image: ultralytics/ultralytics:latest
          command: ["yolo", "predict", "model=yolo26n.pt", "source=https://ultralytics.com/images/bus.jpg"]
          resources:
            limits:
              nvidia.com/gpu: 1 # schedule only onto a node with a free GPU

kubectl apply -f job.yaml은 Job을 제출하고, 스케줄러는 여유 GPU가 있는 노드에 파드를 배치하며, kubectl logs job/yolo26-predict은 predict 모드에서 수행한 객체 탐지 결과를 출력합니다. 학습 Job도 같은 패턴을 따르며 체크포인트용 영구 볼륨과 /dev/shm에 위치한 메모리 내 볼륨을 PyTorch 데이터 로더 워커용으로 추가합니다.

Kubernetes와 Docker 및 서버리스 비교#

  • Docker: 이미지를 빌드하고 한 머신에서 컨테이너를 실행합니다. Kubernetes는 여러 머신에 컨테이너를 배치하며, 버전 1.24부터는 Docker Engine 대신 containerd 또는 CRI-O를 통해 Docker로 빌드한 이미지를 실행합니다.
  • 서버리스 컴퓨팅: Google Cloud Run 및 AWS Lambda와 같은 서비스는 클러스터를 완전히 추상화하고 요청별로 요금을 부과합니다. Knative는 동일한 0으로 축소하는 모델을 Kubernetes 클러스터에 제공합니다.
  • 관리형 Kubernetes: Google Kubernetes Engine(GKE), Amazon Elastic Kubernetes Service(EKS), Azure Kubernetes Service(AKS)는 고객을 대신해 컨트롤 플레인을 실행하며, GKE Autopilot은 워커 노드도 관리합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요