otwld/ollama-helm

Helm chart for Ollama on Kubernetes

是什麼

ollama-helm 是一個 Helm 圖表,可輕鬆在 Kubernetes 集群上執行 Ollama LLM 伺服器。它打包了所有 Kubernetes 物件(Deployment/StatefulSet、Service、Ingress、可選的 Knative Service、PVC 等),並提供一組可設定的值,讓您能以僅 CPU 或 GPU 加速方式啟動 Ollama,預載模型,透過 Ingress 或 Gateway-API 暴露服務,甚至啟動自訂模型建構。

適合誰

  • 已經使用 Kubernetes 但不想管理原始清單檔案的團隊。
  • 需要 GPU 支援(NVIDIA 或 AMD)並希望圖表處理額外旗標的使用者。
  • 任何希望將 Ollama 與其他雲原生工具(Knative、自動伸縮、external-gateway 等)整合的人。

核心功能

功能 圖表如何支援
CPU / GPU 部署 ollama.gpu.enabled 切換 GPU 模式;type 選擇 nvidiaamdnumber 設定請求的 GPU 數量。
模型預載 ollama.models.pull 列出容器啟動時要 ollama pull 的模型。
自訂模型建構 ollama.models.create 允許您提供類似 Docker 的範本(例如 FROM llama3.1 …),ollama.models.run 在建立後執行建構的模型。
Ingress / Gateway-API 可選的 ingress.enabledgateway.enabled 區段產生 Ingress 資源或 Gateway-API 的 Gateway/HttpRoute
Knative 支援 knative.enabled=true 時,圖表會建立 Knative Service 而非傳統 Deployment,並建立一個獨立的 bootstrap Job 用於模型下載/建構。
自動伸縮 支援標準 HPA 欄位(autoscaling.enabledminReplicasmaxReplicastargetCPUUtilizationPercentage)。
持久化 persistentVolume.enabled 建立 PVC;您也可以透過 persistentVolume.existingClaim 連接現有宣告。
細粒度 Pod 控制 支援 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

Pod 將請求一個 NVIDIA GPU,並在啟動時下載兩個模型。

更新

  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 和圖表值;未假設任何額外功能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案