Files
foxhunt/infra/k8s/training/image-prepuller.yaml
2026-02-28 18:10:16 +01:00

63 lines
1.8 KiB
YAML

# DaemonSet image pre-puller — keeps training images cached on GPU nodes
# Runs on ci-rl (L4) and ci-training (L40S) pools so training jobs skip the pull.
# Init containers pull :latest tags, then the main container sleeps forever.
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: image-prepuller
namespace: foxhunt
labels:
app: image-prepuller
app.kubernetes.io/part-of: foxhunt
spec:
selector:
matchLabels:
app: image-prepuller
template:
metadata:
labels:
app: image-prepuller
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: k8s.scaleway.com/pool-name
operator: In
values:
- ci-rl
- ci-compile # remove after terragrunt apply renames pool
- ci-training
tolerations:
- key: nvidia.com/gpu
operator: Exists
effect: NoSchedule
- key: node.cilium.io/agent-not-ready
operator: Exists
effect: NoSchedule
imagePullSecrets:
- name: scw-registry
initContainers:
- name: pull-training-runtime
image: rg.fr-par.scw.cloud/foxhunt-ci/foxhunt-training-runtime:latest
command: ["echo", "foxhunt-training-runtime image pulled"]
resources:
requests:
cpu: 10m
memory: 16Mi
limits:
cpu: 10m
memory: 16Mi
containers:
- name: pause
image: registry.k8s.io/pause:3.10
resources:
requests:
cpu: 10m
memory: 16Mi
limits:
cpu: 10m
memory: 16Mi