57 lines
2.1 KiB
YAML
57 lines
2.1 KiB
YAML
# services/ai-llm/batch-seed-job.yaml
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: ollama-batch-seed-v2
|
|
namespace: ai
|
|
spec:
|
|
backoffLimit: 2
|
|
activeDeadlineSeconds: 7200
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: ollama-batch-seed
|
|
spec:
|
|
automountServiceAccountToken: false
|
|
restartPolicy: Never
|
|
nodeSelector:
|
|
kubernetes.io/hostname: titan-23
|
|
tolerations:
|
|
- {key: veles.bstein.dev/simulation, operator: Equal, value: "true", effect: NoSchedule}
|
|
containers:
|
|
- name: seed
|
|
image: ollama/ollama@sha256:0c0a83210471fb50226bcdc2d6611d20ab13ae87e024cc304c94a6a5765c5e65
|
|
env:
|
|
- {name: OLLAMA_HOST, value: "127.0.0.1:11434"}
|
|
- {name: OLLAMA_MODELS, value: /models}
|
|
- {name: OLLAMA_NO_CLOUD, value: "1"}
|
|
command: [/bin/bash, -ec]
|
|
args:
|
|
- |
|
|
ollama serve >/tmp/ollama.log 2>&1 &
|
|
server_pid=$!
|
|
trap 'kill "$server_pid"; wait "$server_pid" || true' EXIT
|
|
for attempt in $(seq 1 60); do
|
|
ollama list >/dev/null 2>&1 && break
|
|
sleep 1
|
|
done
|
|
ollama pull qwen3.5:9b >/tmp/pull.log 2>&1 || { tail -c 1000 /tmp/pull.log; exit 1; }
|
|
ollama pull qwen3.6:27b >/tmp/pull.log 2>&1 || { tail -c 1000 /tmp/pull.log; exit 1; }
|
|
cd /models/manifests/registry.ollama.ai/library
|
|
sha256sum -c <<'PINS'
|
|
6488c96fa5faab64bb65cbd30d4289e20e6130ef535a93ef9a49f42eda893ea7 qwen3.5/9b
|
|
9d5803d493a991af27b9441c098aa56f2ed7bbd260877f075ec09b575c049bc3 qwen3.6/27b
|
|
PINS
|
|
# Runtime mounts this cache read-only, after registry digest checks.
|
|
chmod -R a+rX /models
|
|
touch /models/.pilot-v1-ready
|
|
resources:
|
|
requests: {cpu: 500m, memory: 512Mi}
|
|
limits: {cpu: "2", memory: 2Gi}
|
|
volumeMounts:
|
|
- {name: models, mountPath: /models}
|
|
volumes:
|
|
- name: models
|
|
persistentVolumeClaim:
|
|
claimName: ollama-batch-titan23
|