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" }}
{{- $raw := $.Files.Get $path }}
{{- $json := $raw | fromJson }}

View File

@ -13,13 +13,15 @@ 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 }}
{{- if .Values.ingress.tls.enabled }}
tls:
- hosts:
- {{ dig .Values.werf.env .Values.ingress.host._default .Values.ingress.host | quote }}
secretName: {{ dig .Values.werf.env .Values.ingress.secretName._default .Values.ingress.secretName | quote }}
- {{ dig .Values.env .Values.ingress.host._default .Values.ingress.host | quote }}
secretName: {{ dig .Values.env .Values.ingress.secretName._default .Values.ingress.secretName | quote }}
{{- end }}
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: /
@ -29,16 +31,16 @@ spec:
name: {{ .Chart.Name }}
port:
name: http
{{- if .Values.ingress.tls.enabled }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ dig .Values.werf.env .Values.ingress.secretName._default .Values.ingress.secretName }}
annotations:
werf.io/sensitive: "true"
name: {{ dig .Values.env .Values.ingress.secretName._default .Values.ingress.secretName }}
type: kubernetes.io/tls
stringData:
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: |
{{- 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 }}
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.vllm }}
image: {{ .Values.image.vllm }}
imagePullPolicy: IfNotPresent
volumeMounts:
- name: data
@ -48,7 +50,7 @@ spec:
containerPort: {{ .Values.port }}
protocol: TCP
args:
- {{ .Values.env.VLLM_MODEL }}
- {{ .Values.envVars.VLLM_MODEL }}
- --async-scheduling
- --host
- 0.0.0.0
@ -57,7 +59,7 @@ spec:
- --gpu-memory-utilization
- "0.2"
- --max-model-len
- "{{ .Values.env.VLLM_MAX_MODEL_LEN }}"
- "{{ .Values.envVars.VLLM_MAX_MODEL_LEN }}"
- --enforce-eager
- --tensor-parallel-size
- "1"
@ -65,7 +67,7 @@ spec:
- --chat-template-content-format
- "string"
env:
{{- range $n, $v := .Values.env }}
{{- range $n, $v := .Values.envVars }}
- name: {{ $n }}
value: {{ $v | quote }}
{{- end }}
@ -85,16 +87,16 @@ 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 }}
volumeClaimTemplates:
- metadata:
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

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
env:
envVars:
VLLM_MODEL: kristaller486/dots.ocr-1.5
VLLM_MAX_TOKENS: 24000
VLLM_TEMPERATURE: 0.2
@ -39,14 +51,16 @@ storage:
size:
_default: 10Gi
class:
_default: local-storage-class-cuda-worker
_default: localpath
ingress:
tls:
enabled: false
className:
_default: nginx
host:
_default: vllm.pro.lukoil.com
preprod: vllm.preprod.pro.lukoil.com
prod: vllm.prod.pro.lukoil.com
_default: vllm.valdemorte.online
preprod: vllm.preprod.valdemorte.online
prod: vllm.prod.valdemorte.online
secretName:
_default: vllm-tls

1
Dockerfile Normal file
View File

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