nelm-ready: public images overlays, nodeSelector fix, secrets

This commit is contained in:
ci 2026-09-11 14:28:18 +03:00
parent 20a2e6c5f4
commit bac13c811c
7 changed files with 70 additions and 23 deletions

6
.helm/Chart.yaml Normal file
View File

@ -0,0 +1,6 @@
apiVersion: v2
name: vllm
description: vLLM for nelm deploy
type: application
version: 1.0.0
appVersion: "0.14.0"

View File

@ -1,4 +1,4 @@
{{- if eq .Values.werf.env "prod" }} {{- if eq .Values.env "prod" }}
{{- range $path, $_ := .Files.Glob "dashboards/*.json" }} {{- range $path, $_ := .Files.Glob "dashboards/*.json" }}
{{- $raw := $.Files.Get $path }} {{- $raw := $.Files.Get $path }}
{{- $json := $raw | fromJson }} {{- $json := $raw | fromJson }}

View File

@ -13,13 +13,15 @@ metadata:
nginx.ingress.kubernetes.io/proxy-read-timeout: "10000" nginx.ingress.kubernetes.io/proxy-read-timeout: "10000"
nginx.ingress.kubernetes.io/upstream-keepalive-timeout: "10000" nginx.ingress.kubernetes.io/upstream-keepalive-timeout: "10000"
spec: 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 }}
{{- if .Values.ingress.tls.enabled }}
tls: tls:
- hosts: - hosts:
- {{ dig .Values.werf.env .Values.ingress.host._default .Values.ingress.host | quote }} - {{ dig .Values.env .Values.ingress.host._default .Values.ingress.host | quote }}
secretName: {{ dig .Values.werf.env .Values.ingress.secretName._default .Values.ingress.secretName | quote }} secretName: {{ dig .Values.env .Values.ingress.secretName._default .Values.ingress.secretName | quote }}
{{- end }}
rules: 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: http:
paths: paths:
- path: / - path: /
@ -29,16 +31,16 @@ spec:
name: {{ .Chart.Name }} name: {{ .Chart.Name }}
port: port:
name: http name: http
{{- if .Values.ingress.tls.enabled }}
--- ---
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: {{ dig .Values.werf.env .Values.ingress.secretName._default .Values.ingress.secretName }} name: {{ dig .Values.env .Values.ingress.secretName._default .Values.ingress.secretName }}
annotations:
werf.io/sensitive: "true"
type: kubernetes.io/tls type: kubernetes.io/tls
stringData: stringData:
tls.crt: | tls.crt: |
{{- werf_secret_file (printf "%s/%s" .Values.werf.env "tls.crt") | nindent 4 }} {{ dig .Values.env .Values.tls.crt._default .Values.tls.crt | nindent 4 }}
tls.key: | tls.key: |
{{- werf_secret_file (printf "%s/%s" .Values.werf.env "tls.key") | nindent 4 }} {{ dig .Values.env .Values.tls.key._default .Values.tls.key | nindent 4 }}
{{- end }}

View File

@ -34,11 +34,13 @@ spec:
{{- if and .Values.gpu.enabled .Values.gpu.tolerations }} {{- if and .Values.gpu.enabled .Values.gpu.tolerations }}
tolerations: {{ toYaml .Values.gpu.tolerations | nindent 6 }} tolerations: {{ toYaml .Values.gpu.tolerations | nindent 6 }}
{{- end }} {{- end }}
{{- with .Values.imagePullSecrets }}
imagePullSecrets: imagePullSecrets:
- name: registrysecret {{- toYaml . | nindent 8 }}
{{- end }}
containers: containers:
- name: {{ .Chart.Name }} - name: {{ .Chart.Name }}
image: {{ .Values.werf.image.vllm }} image: {{ .Values.image.vllm }}
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
volumeMounts: volumeMounts:
- name: data - name: data
@ -48,7 +50,7 @@ spec:
containerPort: {{ .Values.port }} containerPort: {{ .Values.port }}
protocol: TCP protocol: TCP
args: args:
- {{ .Values.env.VLLM_MODEL }} - {{ .Values.envVars.VLLM_MODEL }}
- --async-scheduling - --async-scheduling
- --host - --host
- 0.0.0.0 - 0.0.0.0
@ -57,7 +59,7 @@ spec:
- --gpu-memory-utilization - --gpu-memory-utilization
- "0.2" - "0.2"
- --max-model-len - --max-model-len
- "{{ .Values.env.VLLM_MAX_MODEL_LEN }}" - "{{ .Values.envVars.VLLM_MAX_MODEL_LEN }}"
- --enforce-eager - --enforce-eager
- --tensor-parallel-size - --tensor-parallel-size
- "1" - "1"
@ -65,7 +67,7 @@ spec:
- --chat-template-content-format - --chat-template-content-format
- "string" - "string"
env: env:
{{- range $n, $v := .Values.env }} {{- range $n, $v := .Values.envVars }}
- name: {{ $n }} - name: {{ $n }}
value: {{ $v | quote }} value: {{ $v | quote }}
{{- end }} {{- end }}
@ -85,16 +87,16 @@ spec:
periodSeconds: 5 periodSeconds: 5
timeoutSeconds: 6 timeoutSeconds: 6
failureThreshold: 3 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 }}
volumeClaimTemplates: volumeClaimTemplates:
- metadata: - metadata:
name: data name: data
spec: spec:
accessModes: [ "ReadWriteOnce" ] 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: resources:
requests: 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 apiVersion: v1
kind: Service kind: Service

22
.helm/values-public.yaml Normal file
View File

@ -0,0 +1,22 @@
image:
vllm: docker.io/vllm/vllm-openai:v0.14.0
imagePullSecrets: []
gpu:
enabled: false
ingress:
tls:
enabled: false
resources:
_default:
requests:
cpu: "100m"
memory: "512Mi"
limits:
memory: "1Gi"
nodeSelector: {}
tolerations: []
gpu:
enabled: false
nodeSelector: {}
tolerations: []

View File

@ -1,5 +1,17 @@
global:
cluster: ""
env: dev
imagePullSecrets:
- name: registrysecret
image:
vllm: 192.168.10.68:5000/vllm/vllm-openai:v0.14.0
port: 8004 port: 8004
env:
envVars:
VLLM_MODEL: kristaller486/dots.ocr-1.5 VLLM_MODEL: kristaller486/dots.ocr-1.5
VLLM_MAX_TOKENS: 24000 VLLM_MAX_TOKENS: 24000
VLLM_TEMPERATURE: 0.2 VLLM_TEMPERATURE: 0.2
@ -39,14 +51,16 @@ storage:
size: size:
_default: 10Gi _default: 10Gi
class: class:
_default: local-storage-class-cuda-worker _default: localpath
ingress: ingress:
tls:
enabled: false
className: className:
_default: nginx _default: nginx
host: host:
_default: vllm.pro.lukoil.com _default: vllm.valdemorte.online
preprod: vllm.preprod.pro.lukoil.com preprod: vllm.preprod.valdemorte.online
prod: vllm.prod.pro.lukoil.com prod: vllm.prod.valdemorte.online
secretName: secretName:
_default: vllm-tls _default: vllm-tls

1
Dockerfile Normal file
View File

@ -0,0 +1 @@
FROM docker.io/vllm/vllm-openai:v0.14.0