YOLO Vision 2025를 놓치지 마세요!
2025년 9월 25일
10:00 — 18:00 BST
하이브리드 이벤트
Yolo Vision 2024
용어집

Kubernetes

Kubernetes가 확장 가능한 모델 배포, 분산 학습 및 효율적인 리소스 관리를 통해 AI/ML 워크로드를 어떻게 간소화하는지 알아보세요.

종종 K8s로 축약되는 Kubernetes는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하는 오픈 소스 컨테이너 오케스트레이션 플랫폼입니다. 원래 Google에서 개발하고 현재 CNCF(Cloud Native Computing Foundation)에서 관리하는 Kubernetes는 복원력 있는 분산 시스템을 실행하기 위한 강력한 프레임워크를 제공합니다. 인공 지능(AI)머신 러닝(ML)과 관련하여 학습에서 프로덕션 환경의 배포에 이르기까지 ML 모델의 전체 수명 주기를 관리하는 데 필수적인 도구가 되었습니다.

Kubernetes 작동 방식

Kubernetes는 물리적 서버 또는 가상 머신, 온프레미스 또는 클라우드에 있을 수 있는 머신 클러스터에서 작동합니다. 주요 구성 요소는 다음과 같습니다.

  • 클러스터: 컨테이너화된 애플리케이션을 실행하는 노드(작업자 머신) 세트입니다.
  • 노드: Kubernetes 클러스터의 작업자 머신입니다. 각 노드는 노드를 관리하고 제어 평면과 통신하는 에이전트인 Kubelet을 실행합니다.
  • Pod: Kubernetes 객체 모델에서 가장 작고 단순한 단위입니다. Pod는 클러스터에서 실행 중인 프로세스의 단일 인스턴스를 나타내며 Docker 컨테이너와 같은 하나 이상의 컨테이너를 포함할 수 있습니다.
  • 배포: 복제 Pod 집합을 관리하여 지정된 수의 Pod가 항상 실행되도록 합니다. 업데이트 및 롤백을 자동으로 처리합니다.

Kubernetes는 기본 하드웨어를 추상화하여 개발자와 MLOps 엔지니어가 애플리케이션의 원하는 상태를 정의할 수 있도록 지원하고, 오류 처리 및 확장 요구 사항을 자동으로 처리하여 해당 상태를 유지하기 위해 작동합니다. 자세한 내용은 Kubernetes 공식 문서에서 확인할 수 있습니다.

AI 및 머신 러닝의 Kubernetes

Kubernetes는 대규모 AI 시스템 구축 및 배포와 관련된 많은 문제를 해결하므로 MLOps(Machine Learning Operations)에 특히 강력합니다. 리소스를 효율적으로 관리하는 기능은 모델 학습과 같은 리소스 집약적인 작업에 이상적입니다. Kubernetes는 여러 GPU 및 노드에서 학습 작업을 확장하여 학습 시간을 크게 줄일 수 있습니다.

추론의 경우 Kubernetes는 고가용성 및 확장성을 보장합니다. 다음은 몇 가지 실제 사례입니다.

  1. 확장 가능한 객체 탐지 서비스: 한 회사에서 웹 서비스로 실시간 객체 탐지를 위해 Ultralytics YOLOv8 모델을 배포합니다. 이 모델은 컨테이너에 패키징됩니다. Kubernetes를 사용하여 들어오는 트래픽에 따라 추론 포드 수를 자동으로 확장하거나 축소할 수 있습니다. 노드가 실패하면 Kubernetes는 자동으로 포드를 정상 노드로 다시 예약하여 수동 개입 없이도 서비스를 계속 사용할 수 있도록 보장합니다. 이는 스마트 감시 시스템에서 모델을 배포하는 일반적인 패턴입니다.
  2. 마이크로서비스로서의 복잡한 NLP 파이프라인: 팀은 텍스트 전처리, 감성 분석 및 명명된 엔터티 인식을 포함하는 자연어 처리 (NLP) 애플리케이션을 구축합니다. 각 구성 요소는 독립적으로 컨테이너화된 별도의 마이크로서비스입니다. Kubernetes는 이러한 서비스의 네트워킹을 관리하고 각 부분을 독립적으로 업데이트하고 확장할 수 있도록 오케스트레이션합니다. 이 아키텍처는 복잡한 AI 기반 애플리케이션에 유연성과 복원력을 제공합니다.

Kubernetes vs. 관련 기술

  • Kubernetes vs. Docker: Docker는 개별 컨테이너를 빌드하고 실행하기 위한 도구입니다. Kubernetes는 컨테이너 오케스트레이터로, 여러 시스템에서 수천 개의 컨테이너를 관리합니다. 경쟁자가 아니라 협력자입니다. Docker로 컨테이너 이미지를 빌드한 다음 Kubernetes로 관리합니다. Docker 빠른 시작 가이드를 따라 기본 사항을 시작할 수 있습니다.
  • Kubernetes vs. 서버리스 컴퓨팅: AWS Lambda와 같은 서버리스 플랫폼은 모든 서버 관리를 추상화합니다. 대조적으로 Kubernetes는 인프라에 대한 더 많은 제어 기능을 제공하므로 장기 실행 또는 상태 저장 애플리케이션에 더 적합합니다. 서버리스는 이벤트 기반 기능에 더 간단하지만 서버리스 프레임워크는 Knative와 같은 도구를 사용하여 Kubernetes에서 실행할 수 있습니다.

도구 및 생태계

Kubernetes 생태계는 광범위하며 기능을 확장하기 위한 많은 도구가 포함되어 있습니다.

  • Helm: 종종 Kubernetes용 패키지 관리자라고 불리는 Helm은 Kubernetes 애플리케이션을 관리하는 데 도움이 됩니다.
  • Prometheus & Grafana: Kubernetes 클러스터 및 애플리케이션 모니터링을 위한 널리 사용되는 조합입니다.
  • 클라우드 공급자 통합: 주요 클라우드 공급자는 클러스터 설정 및 유지 관리를 간소화하는 Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS)와 같은 관리형 Kubernetes 서비스를 제공합니다.
  • ML 플랫폼: Kubeflow와 같은 도구는 Kubernetes를 기반으로 파이프라인, 학습 및 배포를 위한 ML 특정 워크플로우를 제공합니다. Ultralytics HUB와 같은 플랫폼은 MLOps 파이프라인을 간소화하여 더 쉬운 모델 배포를 위해 Kubernetes의 복잡성을 추상화합니다.

Ultralytics 커뮤니티에 참여하세요

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기
클립보드에 링크가 복사되었습니다.