otwld/ollama-helm
Helm chart for Ollama on Kubernetes
무엇인가요
ollama-helm 는 Kubernetes 클러스터에서 Ollama LLM 서버를 쉽게 실행할 수 있도록 해주는 Helm 차트입니다. Deployment/StatefulSet, Service, Ingress, 선택적 Knative Service, PVC 등 모든 Kubernetes 객체를 패키지화하고, CPU 전용 또는 GPU 가속, 모델 사전 다운로드, Ingress 또는 Gateway-API를 통한 노출, 사용자 정의 모델 빌드 부트스트랩 등을 가능하게 하는 구성 가능한 값을 제공합니다.
누구를 위한가요
- 이미 Kubernetes를 사용 중이지만, 원시 매니페스트를 직접 관리하고 싶지 않은 팀.
- GPU 지원(NVIDIA 또는 AMD)이 필요하고, 차트가 추가 플래그를 처리해 주기를 원하는 사용자.
- Ollama를 다른 클라우드 네이티브 도구(Knative, 자동 스케일링, external-gateway 등)와 통합하고 싶은 누구나.
핵심 기능
| 기능 | 차트의 지원 방식 |
|---|---|
| CPU / GPU 배포 | ollama.gpu.enabled로 GPU 모드 전환; type으로 nvidia 또는 amd 선택; number로 요청할 GPU 수 설정. |
| 모델 사전 로딩 | ollama.models.pull에 컨테이너 시작 시 ollama pull할 모델 목록을 지정. |
| 사용자 정의 모델 빌드 | ollama.models.create로 Docker 유사 템플릿(예: FROM llama3.1 …) 제공 가능; ollama.models.run으로 빌드 후 모델 실행. |
| Ingress / Gateway-API | 선택적 ingress.enabled 또는 gateway.enabled 섹션으로 Ingress 리소스 또는 Gateway-API Gateway/HttpRoute 생성. |
| Knative 지원 | knative.enabled=true로 설정 시, 전통적인 Deployment 대신 Knative Service 생성하고, 모델 다운로드/빌드용 별도의 부트스트랩 Job 생성. |
| 자동 스케일링 | 표준 HPA 필드(autoscaling.enabled, minReplicas, maxReplicas, targetCPUUtilizationPercentage) 지원. |
| 지속성 | persistentVolume.enabled로 PVC 생성; persistentVolume.existingClaim로 기존 클레임 연결 가능. |
| 세밀한 포드 제어 | affinity, hostNetwork, hostIPC, hostPID, 추가 환경 변수, 추가 인수, 임의의 추가 Kubernetes 객체 지정 가능. |
빠른 시작 (CPU 전용)
helm repo add otwld https://helm.otwld.com/
helm repo update
helm install ollama otwld/ollama \
--namespace ollama --create-namespace
차트는 기본 설정으로 Ollama를 배포하고 ClusterIP 서비스를 통해 노출합니다.
빠른 시작 (GPU + 모델 다운로드)
values.yaml 파일 생성:
ollama:
gpu:
enabled: true
type: nvidia
number: 1
models:
pull:
- mistral
- llama2
다음과 같이 설치:
helm install ollama otwld/ollama \
--namespace ollama --create-namespace \
-f values.yaml
포드는 NVIDIA GPU 1개를 요청하고 시작 시 두 모델을 다운로드합니다.
업데이트 방법
- 상류 Ollama 릴리스 노트를 확인하여 파괴적 변경 사항이 있는지 확인.
- 필요 시
values.yaml조정. - 다음 명령어 실행:
모델 관련 값이 변경된 경우 차트는 새로운 부트스트랩 Job을 생성합니다.helm repo update helm upgrade ollama otwld/ollama -n ollama -f values.yaml
제거 방법
helm delete ollama -n ollama
차트가 생성한 모든 리소스(PVC 포함, persistentVolume.retain을 설정하지 않은 경우)가 삭제됩니다.
다음 단계
- README에 링크된 공식 Ollama 문서(API, 클라이언트 라이브러리, LangChain 통합 등)를 읽어보세요.
- 리포지토리의
values.yaml를 확인하여 설정 가능한 옵션 전체 목록을 확인하세요. - TLS가 필요하면
gateway.listener.tls를 활성화하고 인증서 참조를 제공하세요. - 서버리스 스타일 스케일링이 필요하면
knative.enabled를 활성화하고 Knative 기능 플래그 지침을 따르세요.
위 정보는 리포지토리의 README 및 차트 값에서 직접 가져온 것이며, 추가 기능은 가정하지 않습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트