From ef19ab4474bd774a4255a637b21783c9ce09910d Mon Sep 17 00:00:00 2001 From: ci Date: Fri, 11 Sep 2026 14:28:17 +0300 Subject: [PATCH] nelm-ready: public images overlays, nodeSelector fix, secrets --- .helm/Chart.yaml | 6 ++++++ .helm/templates/ingress.yaml | 4 ++-- .helm/templates/sts.yaml | 14 ++++++++------ .helm/values-public.yaml | 21 +++++++++++++++++++++ .helm/values.yaml | 23 ++++++++++++++++------- Dockerfile | 1 + 6 files changed, 54 insertions(+), 15 deletions(-) create mode 100644 .helm/Chart.yaml create mode 100644 .helm/values-public.yaml create mode 100644 Dockerfile diff --git a/.helm/Chart.yaml b/.helm/Chart.yaml new file mode 100644 index 0000000..267b3d2 --- /dev/null +++ b/.helm/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: ollama +description: Ollama for nelm deploy +type: application +version: 1.0.0 +appVersion: "0.30.11" diff --git a/.helm/templates/ingress.yaml b/.helm/templates/ingress.yaml index b036550..e45e713 100644 --- a/.helm/templates/ingress.yaml +++ b/.helm/templates/ingress.yaml @@ -13,9 +13,9 @@ metadata: nginx.ingress.kubernetes.io/proxy-read-timeout: "10000" nginx.ingress.kubernetes.io/upstream-keepalive-timeout: "10000" spec: - ingressClassName: {{ dig .Values.werf.env .Values.ingress.className._default .Values.ingress.className | quote }} + ingressClassName: {{ dig .Values.env .Values.ingress.className._default .Values.ingress.className | quote }} rules: - - host: {{ dig .Values.werf.env .Values.ingress.host._default .Values.ingress.host | quote }} + - host: {{ dig .Values.env .Values.ingress.host._default .Values.ingress.host | quote }} http: paths: - path: / diff --git a/.helm/templates/sts.yaml b/.helm/templates/sts.yaml index ca827cb..58098c1 100644 --- a/.helm/templates/sts.yaml +++ b/.helm/templates/sts.yaml @@ -34,11 +34,13 @@ spec: {{- if and .Values.gpu.enabled .Values.gpu.tolerations }} tolerations: {{ toYaml .Values.gpu.tolerations | nindent 6 }} {{- end }} + {{- with .Values.imagePullSecrets }} imagePullSecrets: - - name: registrysecret + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: {{ .Chart.Name }} - image: {{ .Values.werf.image.ollama }} + image: {{ .Values.image.ollama }} imagePullPolicy: IfNotPresent volumeMounts: - name: data @@ -50,7 +52,7 @@ spec: env: - name: OLLAMA_HOST value: "0.0.0.0:{{ .Values.port }}" - {{- range $n, $v := .Values.env }} + {{- range $n, $v := .Values.envVars }} - name: {{ $n }} value: {{ $v | quote }} {{- end }} @@ -70,7 +72,7 @@ spec: periodSeconds: 5 timeoutSeconds: 6 failureThreshold: 3 - resources: {{ dig .Values.werf.env .Values.resources._default .Values.resources | toYaml | nindent 12 }} + resources: {{ dig .Values.env .Values.resources._default .Values.resources | toYaml | nindent 12 }} {{- if or .Values.models.pull .Values.models.run }} lifecycle: postStart: @@ -122,10 +124,10 @@ spec: name: data spec: accessModes: [ "ReadWriteOnce" ] - storageClassName: {{ dig .Values.werf.env .Values.storage.class._default .Values.storage.class | quote }} + storageClassName: {{ dig .Values.env .Values.storage.class._default .Values.storage.class | quote }} resources: requests: - storage: {{ dig .Values.werf.env .Values.storage.size._default .Values.storage.size | quote }} + storage: {{ dig .Values.env .Values.storage.size._default .Values.storage.size | quote }} --- apiVersion: v1 kind: Service diff --git a/.helm/values-public.yaml b/.helm/values-public.yaml new file mode 100644 index 0000000..a8a47c0 --- /dev/null +++ b/.helm/values-public.yaml @@ -0,0 +1,21 @@ +image: + ollama: docker.io/ollama/ollama:0.30.11 +imagePullSecrets: [] +gpu: + enabled: false +models: + run: [] +resources: + _default: + requests: + memory: "512Mi" + cpu: "100m" + limits: + memory: "1Gi" + +nodeSelector: {} +tolerations: [] +gpu: + enabled: false + nodeSelector: {} + tolerations: [] diff --git a/.helm/values.yaml b/.helm/values.yaml index 4bbe230..e51a30a 100644 --- a/.helm/values.yaml +++ b/.helm/values.yaml @@ -1,3 +1,14 @@ +global: + cluster: "" + +env: dev + +imagePullSecrets: + - name: registrysecret + +image: + ollama: 192.168.10.68:5000/ollama/ollama:0.30.11 + port: 11434 gpu: @@ -11,7 +22,7 @@ gpu: effect: NoExecute nvidiaResource: "nvidia.com/gpu" -env: +envVars: OLLAMA_MULTIUSER_CACHE: true OLLAMA_FLASH_ATTENTION: true OLLAMA_NOHISTORY: true @@ -22,8 +33,6 @@ env: OLLAMA_CONTEXT_LENGTH: "32000" models: - #pull: - #- gemma3:12b run: - alibayram/Qwen3-30B-A3B-Instruct-2507:latest clean: false @@ -56,12 +65,12 @@ storage: size: _default: 10Gi class: - _default: local-storage-class-cuda-worker + _default: localpath ingress: className: _default: nginx host: - _default: ollama.pro.lukoil.com - preprod: ollama.preprod.pro.lukoil.com - prod: ollama.prod.pro.lukoil.com + _default: ollama.valdemorte.online + preprod: ollama.preprod.valdemorte.online + prod: ollama.prod.valdemorte.online diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..630f1cc --- /dev/null +++ b/Dockerfile @@ -0,0 +1 @@ +FROM docker.io/ollama/ollama:0.30.11