ollama-statefulset.yaml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. apiVersion: apps/v1
  2. kind: StatefulSet
  3. metadata:
  4. name: ollama
  5. namespace: {{ .Values.namespace }}
  6. spec:
  7. serviceName: "ollama"
  8. replicas: {{ .Values.ollama.replicaCount }}
  9. selector:
  10. matchLabels:
  11. app: ollama
  12. template:
  13. metadata:
  14. labels:
  15. app: ollama
  16. spec:
  17. containers:
  18. - name: ollama
  19. image: {{ .Values.ollama.image }}
  20. ports:
  21. - containerPort: {{ .Values.ollama.servicePort }}
  22. env:
  23. {{- if .Values.ollama.gpu.enabled }}
  24. - name: PATH
  25. value: /usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  26. - name: LD_LIBRARY_PATH
  27. value: /usr/local/nvidia/lib:/usr/local/nvidia/lib64
  28. - name: NVIDIA_DRIVER_CAPABILITIES
  29. value: compute,utility
  30. {{- end}}
  31. {{- if .Values.ollama.resources }}
  32. resources: {{- toYaml .Values.ollama.resources | nindent 10 }}
  33. {{- end }}
  34. volumeMounts:
  35. - name: ollama-volume
  36. mountPath: /root/.ollama
  37. tty: true
  38. {{- with .Values.ollama.nodeSelector }}
  39. nodeSelector:
  40. {{- toYaml . | nindent 8 }}
  41. {{- end }}
  42. tolerations:
  43. {{- if .Values.ollama.gpu.enabled }}
  44. - key: nvidia.com/gpu
  45. operator: Exists
  46. effect: NoSchedule
  47. {{- end }}
  48. volumeClaimTemplates:
  49. - metadata:
  50. name: ollama-volume
  51. spec:
  52. accessModes: [ "ReadWriteOnce" ]
  53. resources:
  54. requests:
  55. storage: {{ .Values.ollama.volumeSize }}