From 79e2032603c690ecd5e8ea72a0fc845017e995c5 Mon Sep 17 00:00:00 2001 From: Snarf Date: Tue, 10 Nov 2026 13:45:36 -0500 Subject: [PATCH] fix(uptime-kuma): route ingress directly to clusterip service http port and fix ai-stack node affinity --- .../aerodrome/uptime-kuma/uptime-kuma.yaml | 5 +- manifests/spacedock/ai-stack/ai-stack.yaml | 117 +++++++++++++++++- 2 files changed, 119 insertions(+), 3 deletions(-) diff --git a/manifests/aerodrome/uptime-kuma/uptime-kuma.yaml b/manifests/aerodrome/uptime-kuma/uptime-kuma.yaml index fd580c8..8dc3ba0 100644 --- a/manifests/aerodrome/uptime-kuma/uptime-kuma.yaml +++ b/manifests/aerodrome/uptime-kuma/uptime-kuma.yaml @@ -115,6 +115,7 @@ kind: Ingress metadata: annotations: traefik.ingress.kubernetes.io/router.middlewares: monitoring-authentik-forwardauth@kubernetescrd + traefik.ingress.kubernetes.io/service.serversscheme: http labels: app.kubernetes.io/name: uptime-kuma name: uptime-ing @@ -127,9 +128,9 @@ spec: paths: - backend: service: - name: uptime-lb + name: uptime-kuma-2-1756668961 port: - number: 448 + number: 3001 path: / pathType: ImplementationSpecific tls: diff --git a/manifests/spacedock/ai-stack/ai-stack.yaml b/manifests/spacedock/ai-stack/ai-stack.yaml index ef968b1..d0a580a 100644 --- a/manifests/spacedock/ai-stack/ai-stack.yaml +++ b/manifests/spacedock/ai-stack/ai-stack.yaml @@ -126,6 +126,8 @@ spec: labels: app: vllm-openai spec: + nodeSelector: + kubernetes.io/hostname: snaisvr44hrvstr04 containers: - name: vllm image: vllm/vllm-openai:v0.7.3 @@ -140,7 +142,7 @@ spec: - "--dtype" - "half" - "--max-model-len" - - "16384" + - "65536" - "--gpu-memory-utilization" - "0.90" - "--enable-auto-tool-choice" @@ -155,6 +157,8 @@ spec: value: "/root/.cache/huggingface" - name: VLLM_WORKER_MULTIPROC_METHOD value: "spawn" + - name: VLLM_ALLOW_LONG_MAX_MODEL_LEN + value: "1" ports: - name: http-openai containerPort: 8000 @@ -272,6 +276,8 @@ spec: value: "/root/.cache/huggingface" - name: VLLM_WORKER_MULTIPROC_METHOD value: "spawn" + - name: VLLM_ALLOW_LONG_MAX_MODEL_LEN + value: "1" ports: - name: http-openai containerPort: 8000 @@ -322,6 +328,115 @@ spec: nodePort: 30804 --- # ============================================================================== +# 2C. DEEPSEEK-R1-DISTILL-QWEN-14B REASONING ENGINE (snaisvr44hrvstr01 Tesla T4 GPU) +# ============================================================================== +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: glm-superexpert-models-pvc + namespace: ai-stack +spec: + accessModes: + - ReadWriteOnce + storageClassName: longhorn + resources: + requests: + storage: 200Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: glm-superexpert + namespace: ai-stack + labels: + app: glm-superexpert +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: glm-superexpert + template: + metadata: + labels: + app: glm-superexpert + spec: + nodeSelector: + kubernetes.io/hostname: snaisvr44hrvstr01 + containers: + - name: vllm + image: vllm/vllm-openai:v0.32.0-cu129 + imagePullPolicy: IfNotPresent + command: ["/bin/bash", "-c"] + args: + - | + rm -rf /usr/local/lib/python3.12/dist-packages/torchcodec* + exec vllm serve casperhansen/deepseek-r1-distill-qwen-14b-awq \ + --served-model-name DeepSeek-R1-Distill-Qwen-14B \ + --quantization awq \ + --dtype half \ + --max-model-len 16384 \ + --gpu-memory-utilization 0.92 \ + --enforce-eager \ + --enable-auto-tool-choice \ + --tool-call-parser hermes \ + --reasoning-parser deepseek_r1 \ + --host 0.0.0.0 \ + --port 8000 + env: + - name: HF_HOME + value: "/root/.cache/huggingface" + ports: + - name: http-openai + containerPort: 8000 + resources: + requests: + cpu: "8" + memory: "20Gi" + nvidia.com/gpu: "1" + limits: + cpu: "24" + memory: "40Gi" + nvidia.com/gpu: "1" + readinessProbe: + httpGet: + path: /health + port: 8000 + initialDelaySeconds: 30 + periodSeconds: 10 + volumeMounts: + - name: glm-models + mountPath: /root/.cache/huggingface + - name: dshm + mountPath: /dev/shm + volumes: + - name: glm-models + persistentVolumeClaim: + claimName: glm-superexpert-models-pvc + - name: dshm + emptyDir: + medium: Memory + sizeLimit: 16Gi +--- +apiVersion: v1 +kind: Service +metadata: + name: glm-superexpert + namespace: ai-stack + labels: + app: glm-superexpert +spec: + type: NodePort + selector: + app: glm-superexpert + ports: + - name: http-openai + port: 8000 + targetPort: 8000 + nodePort: 30805 +--- +# ============================================================================== # 3. NVIDIA TRITON INFERENCE SERVER (Decision Engine & Multi-Model ML Serving) # ============================================================================== apiVersion: v1