nelm-ready: public images overlays, nodeSelector fix, secrets
This commit is contained in:
parent
20a2e6c5f4
commit
bac13c811c
6
.helm/Chart.yaml
Normal file
6
.helm/Chart.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: vllm
|
||||||
|
description: vLLM for nelm deploy
|
||||||
|
type: application
|
||||||
|
version: 1.0.0
|
||||||
|
appVersion: "0.14.0"
|
||||||
@ -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 }}
|
||||||
|
|||||||
@ -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 }}
|
||||||
|
|||||||
@ -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
22
.helm/values-public.yaml
Normal 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: []
|
||||||
@ -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
1
Dockerfile
Normal file
@ -0,0 +1 @@
|
|||||||
|
FROM docker.io/vllm/vllm-openai:v0.14.0
|
||||||
Loading…
Reference in New Issue
Block a user