소개
Ollama Operator는 Kubernetes에서 대형 언어 모델을 손쉽게 실행할 수 있도록 설계된 오픈소스 운영자입니다. Ollama와 llama.cpp를 기반으로 하여 Python 환경이나 CUDA 드라이버 없이도 여러 모델을 동일한 클러스터에서 실행할 수 있습니다. 이 도구는 모델 배포, 관리, 확장을 Kubernetes 네이티브 방식으로 자동화하며, 개발자와 운영자가 LLM 워크로드를 컨테이너 오케스트레이션 환경에서 효율적으로 활용하도록 지원합니다.
상세정보
다중 모델 실행 지원
Ollama Operator는 동일한 Kubernetes 클러스터에서 여러 대형 언어 모델을 동시에 실행할 수 있도록 설계되었습니다. 각 모델은 독립적인 배포 단위로 관리되며, 리소스 할당과 스케일링이 개별적으로 이루어집니다.
Ollama 호환성
이 운영자는 모든 Ollama 모델, API 및 CLI와 완전 호환됩니다. Ollama에서 제공하는 공식 모델 라이브러리의 모든 GGUF 형식 모델을 사용할 수 있으며, 사용자는 기존 Ollama 워크플로우를 Kubernetes 환경으로 확장할 수 있습니다.
다양한 Kubernetes 환경 지원
Ollama Operator는 일반 Kubernetes 클러스터뿐만 아니라 K3s (Raspberry Pi, TrueNAS SCALE 등), kind, minikube 등 다양한 경량 및 로컬 Kubernetes 배포에서 실행할 수 있습니다. 이는 개발 환경부터 프로덕션 에지 디바이스까지 폭넓은 사용 사례를 지원합니다.
간단한 설치 및 관리
운영자는 단일 YAML 파일을 통해 설치할 수 있으며, kubectl apply 명령으로 쉽게 배포, 업그레이드 및 제거가 가능합니다. 또한, 이미지를 한 번만 pull하여 노드 전체에서 공유함으로써 저장소 및 네트워크 효율성을 높입니다.
Kubernetes 서비스와의 쉬운 연동
모델은 기존 Kubernetes 서비스, Ingress, LoadBalancer 등을 통해 쉽게 노출될 수 있습니다.これにより、外部アプリケーションやサービスから標準的なKubernetesネットワークポリシーを使ってモデルにアクセスできます.
다운로드·설치 방법
Ollama Operator를 설치하려면 다음 단계를 따르세요. 먼저, 운영자 자체를 클러스터에 배포합니다.
kubectl apply --server-side=true -f https://raw.githubusercontent.com/nekomeowww/ollama-operator/v0.10.1/dist/install.yaml
설치 후, 운영자가 준비될 때까지 기다립니다. 이 과정은 일반적으로 몇 초에서 1분 정도 소요됩니다.
kubectl wait -n ollama-operator-system --for=jsonpath='{.status.readyReplicas}'=1 deployment/ollama-operator-controller-manager운영자가 준비되면, kollama CLI를 설치하여 모델 배포를 더 쉽게 진행할 수 있습니다. 이 CLI는 운영자와 함께 제공되며, Go를 사용하여 설치할 수 있습니다.
go install github.com/nekomeowww/ollama-operator/cmd/kollama@latest
기본 사용법/명령어
kollama CLI를 설치한 후, 간단한 명령어로 모델을 배포할 수 있습니다. 예를 들어, phi 모델을 배포하고 노드 포트를 통해 외부에서 접근하도록 설정할 수 있습니다.
kollama deploy phi --expose --node-port 30001
배포가 완료되면, 모델이 준비될 때까지 기다립니다. 준비 상태는 다음과 같이 확인할 수 있습니다.
kubectl wait --for=jsonpath='{.status.readyReplicas}'=1 deployment/ollama-model-phi모델이 준비되면, 포트 포워딩을 통해 로컬에서 Ollama CLI로 모델과 상호작용할 수 있습니다.
kubectl port-forward svc/ollama-model-phi ollama
이제 다음 명령어로 모델을 실행하고 프롬프트를 보낼 수 있습니다.
ollama run phi
이런 경우에 유용합니다
이 도구는 Kubernetes를 이미 사용하고 있는 개발팀이나 MLOps 엔지니어가 대형 언어 모델을 기존 인프라에 통합하고자 할 때 특히 유용합니다. 예를 들어, 챗봇 서비스, 문서 생성 도구, 또는 코드 보조 시스템을 Kubernetes에서 실행해야 하는 경우, Ollama Operator를 통해 모델 배포 및 확장을 선언적으로 관리할 수 있습니다. 또한, 별도의 GPU 드라이버 설치나 Python 의존성 관리가 어려운 환경(예: 에지 디바이스, 제한된 서버)에서 llama.cpp 기반의 경량 추론을 활용하고자 하는 팀에게 적합합니다.
지원 환경·시스템 요구사항
Ollama Operator 자체는 Kubernetes가 실행 가능한 모든 Linux 기반 환경에서 작동합니다. 그러나 실제 모델 실행 시에는 충분한 메모리가 필요합니다. 7B 규모의 모델을 실행하려면 노드당 최소 8GB의 RAM이 권장되며, 13B 모델은 16GB, 33B 모델은 32GB 이상의 메모리가 필요합니다. 또한, 대형 모델의 다운로드 및 저장을 위해 안정적인 네트워크 연결과 충분한 디스크 공간이 필요합니다. 특히 13B 이상의 모델을 실행하려는 경우, 효율적인 저장소 구성이 성능에 큰 영향을 미칠 수 있습니다.
최신 버전·업데이트
현재 버전은 0.7.1이며, 최신 변경 사항 및 업데이트 내역은 GitHub 저장소의リリース 페이지에서 확인할 수 있습니다. 이 프로젝트는 활발히 유지보수 중이며, 정기적으로 새로운 기능 개선 및 버그 수정이 이루어집니다.
제한 사항·확인 사항
Ollama Operator는 모델 이미지를 일반 컨테이너 런타임에서 직접 실행할 수 없습니다. 이는 Ollama의 Modelfile로 생성된 이미지가 OCI 형식은 아니지만 contentType 값의 불호환으로 인해 발생하는 제한입니다. 따라서 모델 이미지를 저장하고 캐시하기 위해 별도의 PersistentVolume을 사용하는 Model Image Storage 컴포넌트가 필수적입니다. 또한, 이 운영자는 Windows에서 직접 실행할 수 없으며, Kubernetes 클러스터 내에서만 작동합니다. Windows 사용자는 WSL2, Docker Desktop의 Kubernetes 기능, 또는 원격 Linux 클러스터를 통해 간접적으로 이용할 수 있습니다.
FAQ
- Ollama Operator는 무료로 사용할 수 있나요?
네, 이 프로젝트는 Apache-2.0 라이선스 하에 오픈소스로 제공되며, 상업적 이용을 포함한 모든 사용에 무료로 사용할 수 있습니다.
- Windows에서 직접 Ollama Operator를 실행할 수 있나요?
아니요, 이 운영자는 Kubernetes용으로 설계되었으므로 Windows에서 직접 실행할 수 없습니다. 그러나 Windows에서 WSL2 또는 Docker Desktop을 통해 Kubernetes 클러스터를 실행하고, 그 안에서 운영자를 사용할 수 있습니다.
- GPU가 필수인가요?
아니요, Ollama Operator는 llama.cpp를 기반으로 하여 CPU 전용으로도 모델을 실행할 수 있습니다. 그러나 더 빠른 추론을 위해서는 GPU 가속이 권장되며, 해당 환경에서는 적절한 드라이버와 CUDA 지원이 필요합니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


