1. De Air-Gapped K8s Realiteit

"Air-gapped" betekent zelden wat marketingmateriaal impliceert. In een geclassificeerde implementatie is een air gap een geaccrediteerde grens: geen routeerbaar pad naar het publieke internet, geen DNS-resolutie naar buiten, geen impliciete uitgang voor pakketbeheerders of containerruntimes. Elk artefact dat de grens passeert wordt geregistreerd, gescand en goedgekeurd. Het cluster gedraagt zich alsof het internet niet bestaat — want voor de accreditatieautoriteit bestaat het niet.

De eerste realiteit die ingenieurs onderschatten is dat Kubernetes connectiviteit aanneemt. kubelet haalt op uit registry.k8s.io. Helm-grafieken verwijzen naar quay.io en docker.io. CNI-plugins halen binaire bestanden op bij installatie. CSI-stuurprogramma's halen sidecar-images op. Operators reconciliГ«ren door nieuwe imagesamenvattingen op te halen. Een vanilla kubeadm init op een niet-verbonden host mislukt in de eerste minuut.

De tweede realiteit is het terugkerende-update-probleem. Een cluster staat niet eenmalig op en blijft stilstaan. Kubernetes-kleine releases komen elke vier maanden. CVE's in containerd, runc, CoreDNS en de kernel komen wekelijks. Accreditatiebeoordelaars stellen één vraag boven alles: toon me uw patchcadans en het bewijs. Een air-gapped cluster zonder een gedocumenteerde, herhaalbare updatepijplijn is een cluster dat wordt geweigerd bij de volgende beoordeling.

Alles wat volgt is een gevolg van deze twee feiten: niets haalt zichzelf op, en het cluster moet jarenlang patchbaar zijn.

2. Distributiekeuzle — RKE2 vs K3s vs kubeadm vs OpenShift

RKE2 (Rancher Kubernetes Engine 2). SUSE/Rancher's geharde distributie. RKE2 1.31 wordt geleverd met een CIS-1.9-profiel: kube-apiserver is geconfigureerd met het auditbeleid, toelatingcontrollers en TLS-houding die de CIS-benchmark vereist. De release-tarball bundelt elk systeemimage in één enkel bestand. Voor air-gap is dit in 80% van de gevallen het juiste antwoord.

K3s. De lichtgewicht sibling. Enkelvoudige binaire, ingebedde etcd of sqlite, ~50 MB. Uitstekend voor randknooppunten binnen de enclave (vooruitgeschoven commandoposten, mobiele schuilplaatsen, sensorgateways) waar het cluster draait op één robuust apparaat. K3s 1.31 heeft hetzelfde air-gap tarball-patroon als RKE2 maar een kleinere componentenset en geen geharde profielinstelling vooraf.

kubeadm. Upstream Kubernetes. Maximale flexibiliteit, maximaal werk. Elk componentimage moet handmatig worden gespiegeld, elke CNI handmatig geГЇnstalleerd, elk CIS-controle door uzelf toegepast. Kies kubeadm alleen wanneer de accreditatieautoriteit vendor-gedistribueerde binaire bestanden verbiedt.

OpenShift. Red Hat's distributie. Sterkere air-gap gereedschappen (oc mirror, Operator Lifecycle Manager met offline catalogi) en een serieuze accreditatievoetafdruk (FIPS 140-3, CC EAL4+ op RHEL). De afweging is licentie — OpenShift-stoelen zijn duur en de platformvoetafdruk is zwaar.

Voor de meeste defensie-engagementen raden wij RKE2 1.31 aan met Rancher 2.10 als het multi-cluster beheersvlak, binnen de geclassificeerde enclave. K3s 1.31 vult de randplek. kubeadm en OpenShift zijn programmaspecifieke keuzes gedreven door aanschaf en accreditatie.

3. Offline Imageregister

Het register is het hart van een air-gapped Kubernetes-platform. Elke pod haalt er uit op. Als het uitvalt, bevriest het cluster bij de volgende imageopname. Als het wordt gecompromitteerd, wordt elke workload gecompromitteerd.

Harbor 2.11. Het CNCF-afgestudeerde, enterprise-grade register. Native Trivy-integratie scant elk gepushed image op CVE's tegen een offline kwetsbaarheidsdatabase. Harbor ondersteunt cosign handtekeningverificatie bij ophalen, project-scoped RBAC, replicatiebeleid en een robot-accountmodel dat goed werkt met toelatingwebhooks.

zot. Het OCI-native, golang enkel-binair register. Veel lichter dan Harbor (geen Postgres, geen Redis, geen Trivy-sidecar). zot 2.1 ondersteunt OCI 1.1 referrers, cosign en een kleine voetafdruk die past bij randknooppunten.

Sonatype Nexus. De polyglotte artefactbeheerder. Als het programma al gestandardiseerd heeft op Nexus voor Maven, npm en APT-spiegels, voegt het toevoegen van Docker-repositories alles in één tool samen.

Het patroon waar de meeste grote programma's op convergeert is het register van registers: één centraal Harbor binnen de enclave als bron van waarheid, één zot per site of randcluster, en een gedocumenteerde replicatietopologie.

4. Sneakernet en Eenrichtingsdioden

Images, Helm-grafieken, kwetsbaarheidsdatabases, OS-pakketspiegels, GitOps-repositories — alles moet fysiek de grens oversteken. Twee transportpatronen domineren.

Sneakernet. Goedgekeurde verwijderbare media, handmatig gedragen. De media wordt gewist, beschreven, hash-geverifieerd, verzegeld, ondertekend over de grens, hash-geverifieerd aan de hoge kant, ingevoerd in een staging-register, gescand, handmatig goedgekeurd en vervolgens gepromoveerd naar het productieregister.

Eenrichtingsgegevensdioden. Hardware-afgedwongen eenrichtingsoverdracht. Bandbreedte is reëel (1–10 Gbps op huidige hardware) en het ontbreken van een terugpad wordt afgedwongen in glasvezel, niet in configuratie. Dioden werken uitstekend voor telemetrie die de hoge kant verlaat.

Beide patronen delen dezelfde gefaseerde acceptatie-workflow: ontvangen в†’ quarantaine-register в†’ geautomatiseerde scan (Trivy, ClamAV, YARA) в†’ inhoudsontsmetting en -reconstructie voor niet-containerartefacten в†’ handmatige analistgoedkeuring в†’ promotie naar productieregister. Het overslaan van de quarantainefase is de meest voorkomende oorzaak van accreditatiebevindingen.

5. GitOps in een Air Gap

GitOps werkt binnen de enclave — mits elke verwijzing intern is. ArgoCD 2.13 en Flux 2.4 draaien beide goed air-gapped. De afstemmingslus geeft niet om het feit dat de Git-server een Gitea- of GitLab-instantie is die op de hoge kant wordt gehost in plaats van github.com. Wat breekt is elke Helm-grafiek die verwijst naar een extern grafieksrepository, elke Kustomize-overlay die een basis ophaalt uit een publiek Git-remote.

Het manifest-spiegel-patroon lost dit op. Een geplande taak aan de lage kant haalt upstream Helm-grafieken, containerimages en Git-repositories op; herschrijft elke externe verwijzing; committeert aan een interne Git-spiegel; en exporteert de bundel voor sneakernet. Binnen de enclave wijst ArgoCD uitsluitend naar de spiegel.

6. Bevoorradingsketen-integriteit

Een air gap stopt uitgaand lekken; het stopt geen kwaadaardig image dat via het goedgekeurde kanaal is aangekomen. Bevoorradingsketen-integriteit is de tweede verdedigingslinie.

cosign ondertekening. Elk image gepromoveerd naar het productieregister wordt ondertekend met een cosign-sleutel waarvan de root in de enclave HSM zit.

Kyverno of OPA Gatekeeper bij toelating. Een ClusterPolicy verwerpt elke pod waarvan het image niet is ondertekend door een sleutel in het enclave-vertrouwenspakket en waarvan de samenvatting niet is vastgepind. Op tag gebaseerde verwijzingen (:latest, :v1) worden volledig geblokkeerd — alleen @sha256:...-samenvattingen passeren toelating.

SBOM-verificatie. Elk ondertekend image draagt een bijgevoegd SPDX- of CycloneDX-SBOM als een OCI-referrer. Toelatingsbeleid verifieert de SBOM-handtekening en controleert optioneel op verboden componenten.

Kernbevinding: De ondertekeningssleutel in de enclave HSM is het vertrouwensanker voor het gehele cluster. De sleutelceremonie, rotatieschema en gesplitste-kennisbewaarneming zijn op zichzelf staande accreditatieartefacten. Bouw ze vГіГіr het cluster, niet erna.

7. Dag-2 Bewerkingen

CVE-patchcadans is waar de meeste air-gapped programma's de accreditatiegesprek verliezen. De vraag van de beoordelaar is eenvoudig: een kritieke CVE werd gisteren bekendgemaakt — wanneer landt het in uw productiecluster, en waar is het bewijs?

Een verdedigbaar antwoord heeft drie niveaus. Spoedpatch voor kritieke CVE's met actieve exploitatie: de ingestpijplijn aan de lage kant accepteert een noodpatch binnen 24 uur, sneakernet draait buiten de cyclus, het productieregister ontvangt het gepatchte image binnen 72 uur. Gepland venster voor hoge en gemiddelde CVE's: maandelijkse onderhoudsvensters halen een samengestelde batch via de volledige gefaseerde acceptatiepijplijn. Driemaandelijkse kleine upgrades voor het Kubernetes-besturingsvlak zelf.

Het clusterlevenscyclusplan dat accreditatiebeoordelaars tevreden stelt is geen eenpagina-diagram. Het is een geschreven runbook dat dekt: procedure voor upgrade van het besturingsvlak, procedure voor upgrade van werknemerknopen, etcd back-up en hersteloefeining (driemaandelijks uitgevoerd), CNI-upgradeprocedure en de benoemde personen die verantwoordelijk zijn voor elk.

8. Multi-Enclave Federatie

Een defensieorganisatie draait zelden één cluster. Er is een niet-geclassificeerde enclave, een NAVO GEHEIM enclave, een nationale GEHEIM enclave, soms een TOPGEHEIM enclave voor specifieke programma's. De instinctieve reactie is ze te "federeren" via Kubernetes Federation v2 of een vergelijkbaar mechanisme. Het instinct is verkeerd.

Federatie over classificatiegrenzen is verboden door elk accreditatiekader waarbinnen wij hebben gewerkt. Het juiste patroon is afzonderlijke clusters per classificatie, alleen verbonden door cross-domein-gateways. Elk cluster heeft zijn eigen besturingsvlak, zijn eigen register, zijn eigen GitOps-repository, zijn eigen ondertekeningssleutels.

Cross-domein berichtenstroom — telemetrie omhoog, opdrachten omlaag, inlichtingen zijwaarts — loopt via geaccrediteerde cross-domein-oplossingen, niet via integratie op Kubernetes-niveau. Het cluster weet niet dat het multi-enclave is. Elk cluster gelooft dat het alleen is, en dat is de eigenschap die het accrediteerbaar maakt. Voor het netwerkmodel dat deze enclaves omhult, zie zero trust op militaire netwerken.