ci / test (push) Failing after 22s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
57 lines
2.0 KiB
YAML
57 lines
2.0 KiB
YAML
# NEX-Spracherkennung (whisper.cpp, M4000) auf gpu-pve52, umgezogen von Docker Compose (Task 6.2, D6).
|
|
# Host-Netz wie zuvor: Port 8178 auf der VM-Adresse, die ufw-Regel der VM (nur appsrv08) gilt weiter.
|
|
# Image stammt aus dem Compose-Build und wurde in das containerd von k3s importiert (Rolle nex-speech-k3s).
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: nex-stt
|
|
namespace: nex
|
|
labels: {app: nex-stt}
|
|
spec:
|
|
replicas: 1
|
|
strategy: {type: Recreate} # Host-Port 8178 kann nur einmal belegt sein
|
|
selector:
|
|
matchLabels: {app: nex-stt}
|
|
template:
|
|
metadata:
|
|
labels: {app: nex-stt}
|
|
spec:
|
|
runtimeClassName: nvidia
|
|
hostNetwork: true
|
|
dnsPolicy: ClusterFirstWithHostNet
|
|
nodeSelector:
|
|
kubernetes.io/hostname: gpu-pve52
|
|
containers:
|
|
- name: whisper
|
|
image: knaster/nex-whisper:v1.9.4-cu12.6
|
|
imagePullPolicy: Never
|
|
env:
|
|
- {name: WHISPER_PORT, value: "8178"}
|
|
- {name: WHISPER_MODEL, value: /models/whisper/ggml-large-v3-turbo.bin}
|
|
- {name: WHISPER_LANGUAGE, value: de}
|
|
- {name: WHISPER_BEAM_SIZE, value: "5"}
|
|
- {name: WHISPER_EXTRA_ARGS, value: ""}
|
|
resources:
|
|
limits: {nvidia.com/gpu: 1}
|
|
securityContext:
|
|
readOnlyRootFilesystem: true
|
|
volumeMounts:
|
|
- {name: models, mountPath: /models/whisper, readOnly: true}
|
|
- {name: run, mountPath: /run/nex-whisper}
|
|
startupProbe:
|
|
httpGet: {path: /health, port: 8178, host: 127.0.0.1}
|
|
periodSeconds: 5
|
|
failureThreshold: 60
|
|
readinessProbe:
|
|
httpGet: {path: /health, port: 8178, host: 127.0.0.1}
|
|
periodSeconds: 30
|
|
livenessProbe:
|
|
httpGet: {path: /health, port: 8178, host: 127.0.0.1}
|
|
periodSeconds: 30
|
|
failureThreshold: 3
|
|
volumes:
|
|
- name: models
|
|
hostPath: {path: /srv/models/whisper, type: Directory}
|
|
- name: run
|
|
emptyDir: {medium: Memory, sizeLimit: 512Mi}
|