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 モードを切り替え;typenvidia または 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 を作成し、モデルのダウンロード/ビルド用の別々の bootstrap Job を作成。
自動スケーリング 標準の HPA フィールド(autoscaling.enabledminReplicasmaxReplicastargetCPUUtilizationPercentage)をサポート。
永続化 persistentVolume.enabled で PVC を作成;persistentVolume.existingClaim で既存のクレームをアタッチ可能。
細かいポッド制御 affinityhostNetworkhostIPChostPID、追加環境変数、追加引数、任意の追加 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つ要求し、起動時に2つのモデルをダウンロードします。

更新手順

  1. 上流の Ollama リリースノートを確認し、破壊的変更がないかチェック。
  2. 必要に応じて values.yaml を調整。
  3. 次のコマンドを実行:
    helm repo update
    helm upgrade ollama otwld/ollama -n ollama -f values.yaml
    
    モデル関連の値を変更した場合、チャートは新しい bootstrap Job を作成します。

削除手順

helm delete ollama -n ollama

チャートが作成したすべてのリソース(PVC を除く、persistentVolume.retain を設定していない場合)が削除されます。

次にやること

  • README にリンクされた公式 Ollama ドキュメント(API、クライアントライブラリ、LangChain 統合など)を読む。
  • リポジトリ内の values.yaml を確認して、すべてのカスタマイズ可能なオプションを確認。
  • TLS を必要とする場合、gateway.listener.tls を有効化し、証明書の参照を提供。
  • サーバーレス風のスケーリングが必要な場合、knative.enabled を有効化し、Knative の機能フラグ手順に従う。

上記のすべての情報は、リポジトリの README およびチャートの値から直接取得されており、追加機能は想定されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト