Sådan udruller du kant-AI med Kubernetes og GPU'er
Tænk hvis din produktionslinje kunne forudse maskinsvigt, før det sker
Hvis et butikskamera kunne genkende udsolgte varer i real-tid. Eller hvis trafikkameraer i smart cities kunne optimere lyskryds på millisekunder - uden at sende en eneste billedramme til skyen.
Det lyder som science fiction, men kant-AI (Edge AI) gør det allerede muligt. Ved at flytte machine-learning-inferens helt ud til enheden får du:
- Ultra-lav latenstid - svar på millisekunder, hvor hver mikrosekund tæller.
- Dataprivatliv og compliance - data forlader aldrig matriklen.
- Robusthed offline - selv når forbindelsen til skyen ryger.
Men hvordan går man fra PowerPoint-vision til produktion i feltet? Kubernetes giver dig den container-orkestrering, du allerede kender fra datacenteret, mens GPU-acceleration sikrer den rå inferenskraft, der kræves til computer vision, predictive maintenance og andre tunge workloads.
I denne artikel på IT Forum Danmark viser vi trin for trin:
- Hvordan du designer referencearkitekturen - fra Jetson-boards til x86-servere med L4- eller T4-GPU’er.
- Hvordan du får dine modeller fra Jupyter Notebook til containeriseret inferens med NVIDIA Triton, OpenVINO og Helm-charts.
- Hvordan du holder styr på drift, sikkerhed og opdateringer i en flåde af edge-noder, der måske står i en boreplatform eller på taget af et supermarked.
Uanset om du er DevOps-ingeniør, data scientist eller IT-arkitekt, giver guiden dig de byggesten, du skal bruge for at udnytte næste bølge af AI-innovation - helt ude på kanten. Er du klar til at rulle fremtiden ud? Så læs videre!
Hvorfor kant-AI med Kubernetes og GPU’er?
Kant-AI flytter inferens helt ud til der, hvor dataen opstår - i kameraet over produktionslinjen, på POS-terminalen i butikken eller i IoT-gatewayen på lygtepælen. Ved at bearbejde data lokalt får man millisekunders latenstid, hvilket er afgørende for real-time beslutninger og sikkerheds-kritiske scenarier. Samtidig bliver rådata i højere grad på stedet, hvilket styrker dataprivatliv og reducerer båndbredde-omkostninger. Endelig sikrer lokale modeller robusthed offline; hvis forbindelsen til cloud brydes, kører applikationen videre som vanligt.
Typiske anvendelser spænder bredt:
- Computer vision til kvalitetskontrol, trafikovervågning og adgangskontrol.
- Predictive maintenance baseret på vibrations- eller lydsensorer, der kræver høj samplingfrekvens.
- Retail med hyldescan, køtidsanalyse og personaliseret digital skiltning.
- Smart city-initiativer som intelligent affaldshåndtering og energistyring.
Her kommer kombinationen af Kubernetes og GPU-akceleration ind i billedet. Kubernetes giver en standardiseret orkestreringsplatform, så de samme CI/CD- og GitOps-workflows, der kører i datacentret, kan genbruges på kanten. Samtidig kan GPU’er - fra små NVIDIA Jetson-moduler til fuldfede datacenterkort - levere den nødvendige regnekraft pr. watt til både FP16 og INT8-inferens. Med device-plugins eksponeres GPU-ressourcer som first-class citizens i klyngen, og autoscaling eller node-pool-strategier kan sikre optimal udnyttelse og fallback ved hardwarefejl. Resultatet er en konsistent, automatiserbar og ressourceeffektiv platform, der gør det realistisk at rulle tusindvis af kant-noder ud uden at miste styring eller sikkerhed.
Referencearkitektur: fra hardware til klynge
Edge-hardware og software stack
De konkrete krav til kant-AI spænder fra få watt i en drone til fuld server-racks i en fabrik. Vælg derfor hardware efter workloads og miljø:
- NVIDIA Jetson Orin/NX - kompakt ARM-SOC med integreret GPU til lavt strømforbrug (<30 W) som f.eks. droner eller mobile robotter.
- x86-noder med datacenter-GPU’er - A2/L4 til let AI-inferens, T4/L40S til mellemklassen, eller L4/Tesla-klassen i micro-datacentre.
- CUDA + cuDNN for kerneakceleration.
- TensorRT for optimeret inferens (FP16/INT8).
- Kun én container runtime (
containerd) reducerer overhead og sikrer kompatibilitet med GPU-plugins. - Vælg en Kubernetes-distribution, der rammer det rette kompromis mellem footprint og features:
Distribution Footprint Når du bør vælge den K3s <100 MB Indlejrede enheder og single-board-computere MicroK8s Medium Rapid prototyping og udviklervenligt snap-flow Vanilla K8s Stor Edge-datacentre med krav om fuld upstream-kompatibilitet
Fra GPU-integration til driftssikkerhed
Efter basis-klyngen er på plads, kobles GPU’er, netværk og sikkerhedslag på for at opnå en robust, reproducerbar platform:
- NVIDIA Device Plugin - eksponerer GPU’er til Pods; GPU Operator automatiserer driver- + toolkit-installation, og MIG deler A100/Hopper-kort op i logiske slices.
- Netværk: Calico til policy-styret CNI, Flannel til ultra-let overlay og WireGuard til krypteret node-til-node-trafik.
- Storage: lokal SSD/NVMe via CSI host-path for lav latency, evt. distribueret OpenEBS når flere noder deles om modeller.
-
Sikkerhed: RBAC + Pod Security Admission for least-privilege, AppArmor/SELinux til host-isolation, og node-hardening med
sysctl-profiler. - GitOps: Argo CD eller Flux synkroniserer YAML/Helm fra Git til klyngen, hvilket giver sporbar “single source of truth”, automatiske roll-backs og ensartede versioner på tværs af hundrede edge-sites.
Fra model til inferens: udrulning og orkestrering
Rejsen fra trænet model til produktion starter med optimering: Når din datavidenskabsafdeling har færdiggjort træningen i PyTorch eller TensorFlow, konverteres modellen typisk til ONNX for maksimal portabilitet. Herfra kan du med TensorRT eller OpenVINO lave FP16- eller INT8-kvantisering, som reducerer både latenstid og strømforbrug på GPU’er som Jetson, L4 eller T4. Resultatet placeres i et versionsstyret artefakt-repository (fx Azure ML eller MLflow) og pakkes derefter i en slank container (distroless/ubi-minimal). Selve inferenslaget kører typisk i NVIDIA Triton - når du har brug for multi-model/batchering - eller i en letvægts OpenVINO-REST/gRPC-wrapper, hvis CPU-fallback er vigtigt. Alle konfigurationsfiler - fra config.pbtxt til Kubernetes Deployment - templatiseres med Helm eller Kustomize, så du kan genbruge samme chart på både test-, staging- og edge-klynger.
Skalerbar og begivenhedsdrevet inferens realiseres ved at sætte modellen bag Knative Revisioner eller et almindeligt Deployment koblet til KEDA. KEDA aflæser kø-længder i Kafka, MQTT eller en Prometheus-metric og justerer automatisk pod-antallet - helt ned til nul for at spare strøm, hvis der ikke er trafik. Trafikken selv kan komme via REST/gRPC, rå video-frames i RTSP, IoT-events i MQTT eller sensor-telegrammer i Kafka, som forwardes til Triton med minimal overhead. I brancher med flakket netforbindelse (industrianlæg, skibe, tog) indbygges et store-and-forward-lag: producer-side gemmer payload lokalt i en LightDB/SQLite-wal, og en sidecar uploader i batches, når linket er tilbage - uden at Kubernetes behøver at kende til det.
Til sidst skal livscyklussen på kanten håndteres. Hver ny modelversion får et semver-tag (fx v2.1.0-int8) i et privat OCI-registry, så du kan rulle ud med canary 10 %, måle KPI’er og rulle tilbage med et kubectl rollout undo, hvis præcisionen falder. For at minimere cold-start-tiden på små noder kan du aktivere Triton Model Cache eller pre-warmes med init-containers, der loader vægte til GPU-RAM før første request. Begræns samtidig resources.limits (memory, GPU-SM shares via MIG) for at undgå, at én glubsk model fortrænger de andre. Når modellen til sidst deprecateres, fjernes tags i registry via retention-politikker, og GitOps-værktøjet (Argo CD/Flux) synkroniserer automatisk manifests, så hele flåden af edge-noder forbliver ren og konsekvent.
Drift i stor skala: observability, sikkerhed og livscyklus
Observability og fejlfinding begynder med et metrics-first mindset. Installer Prometheus Operator og scrap både kube-state-metrics og node-exporter. Til GPU-telemetri aktiveres dcgm-exporter, som giver temperatur, power draw og SM-udnyttelse pr. kort eller MIG-slice. Visualisér alt i Grafana med færdige dashboards fra Grafana Labs GPU-mixin.
-
Logs: Send container- og system-logs til
LokiviaPromtail; rul op på tværs af noder selv når edge-forbindelsen er flappende. -
Tracing: Brug
OpenTelemetry Collectortil at samle spans fra inferensservicen; eksportér til Jaeger/Tempo for root-cause analyse af latenstid. -
Alerting: Opsæt
Alertmanagerregler for f.eks. “GPU power > 90 W i > 5 min” og “Pod restart loop”; send notifikationer via webhooks til Slack, Opsgenie eller SMS-gateway på stedet.
Rulleplaner og flådestyring sikrer nul-nedetid og kontrolleret test af nye modeller. Kubernetes Deployment-strategier suppleres med Argo Rollouts eller Flagger for canary, blue/green og A/B eksperimenter. Typisk flow:
- Push container med ny model-hash til registry.
- ArgoCD synkroniserer manifest; Rollouts dirigerer 5 % af trafikken til “canary”.
- Prometheus SLO’er (f.eks. p95 latency < 50 ms) evalueres automatisk. Består testen, øges trafikken trinvis til 100 %, ellers rulles tilbage.
- Batch-opdatering af hundreder af bokse via diff-pakker og torrents for at spare båndbredde.
- Node autonomy: Pods fortsætter lokalt under control-plane udfald.
- DeviceTwin-API til at skubbe firmware patches og hente sensordata i én kanal.
Forsvar i dybden kræver supply-chain sikkerhed fra build til runtime.
-
Image signering: Byg med
ko/BuildKit, signer medcosign sign --key=kms://. Kørkyverno verifyImagessom admission-kontrol - unsigned images nægtes. -
SBOM & attestation: Generér SBOM med
syft, attach som OCI artefakt; valider medin-totopolicies. -
Hardware-root: Udnyt TPM 2.0 til
Secure Boot&measured boot, så kun verificerede kernel- images startes. -
Netværkspolitikker: Med Calico defineres
NetworkPolicyder kun tillader egress til API-gateway og NTP; inferens-pods kan ikke “phone home”. -
Runtime beskyttelse: Aktivér AppArmor/SELinux profiler samt GPU-isolering via
nvidia-container-toolkit --no-new-privileges.
Omkostninger, energi og livscyklus knyttes tæt til business-case og ESG-krav:
| Disciplin | Værktøj | Best practice |
|---|---|---|
| Energimåling | DCGM, IPMI | Auto-skaler ned når GPU-util < 30 %; sæt application clocks lavere om natten. |
| Backup/rollback | Velero, Restic | Tag etcd-snapshots + persistente volumener; re-seed clusters via GitOps repo. |
| Compliance | OPA Gatekeeper | Policies for data residency - “No PVC in US region for EU PII”. |
| Kapacitetsplan | Goldilocks, KEDA | Rightsize pod-requests; scale to zero ved inaktivitet. |
nvme sanitize, og genanvend køleprofiler i nye deployments. Resultatet er en robust, sikker og økonomisk bæredygtig kant-AI platform, der kan vokse fra første POC til global flåde uden at knække budget eller compliance-ramme.