Sandboxed Containers (Kata)
Silná izolácia workloadov cez lightweight VMs.
Sandboxed Containers Operator inštaluje Kata Containers runtime na OpenShift. Kata spúšťa každý pod ako lightweight VM (QEMU + minimal kernel) namiesto zdieľania hostiteľského kernelu cez namespaces a cgroups.
Motivácia je silnejšia izolácia. Klasický runc container zdieľa host kernel s ostatnými kontajnermi – kernel CVE (Dirty COW, container escapes) môžu byť fatálne pre multi-tenant workload. Kata VM má vlastný kernel, útočník musí najprv breakoutnúť z VM (co je exponenciálne ťažšie) a až potom napadnúť host.
Use cases: (1) multi-tenant SaaS s untrusted user code (napr. serverless functions ako pizza.example.com); (2) CI/CD runnery, ktoré spúšťajú kód z pull requestov; (3) regulované prostredia s cross-tenant isolation požiadavkou; (4) sandbox pre AI inference workloady, ktoré prijímajú neoverený input.
Konfigurácia je jednoduchá po inštalácii operátora. Vytvor RuntimeClass `kata` a v pod spec pridaj `spec.runtimeClassName: kata`. Zvyšok Kubernetes API funguje rovnako – Deployments, Services, PVC. Iba pod-y s touto runtimeClass sa spustia v Kata VM.
Cena za bezpečnosť je overhead. Každý pod má cca 30-50 MB extra RAM (guest kernel + init) a start-up latency 1-2 sekundy navyše. Live migration ani hostPath volumes nefungujú (VM boundary). Pre steady-state workloady na klastri s väčšou kapacitou je overhead prijateľný, pre high-density scenarios (100+ podov na node) siahni radšej po eBPF-based izolácii (Falco, Cilium Tetragon).