The firewall stood silent, but your cluster still needed a path. Kubernetes Ingress in an air-gapped environment is not optional—it is the only way to route traffic where it must go without breaking isolation.
In a standard cluster, an Ingress controller manages routing rules using HTTP and HTTPS. It integrates with the Kubernetes API and responds to changes instantly. But in an air-gapped setup, everything is harder. There is no internet connection to pull images or update configurations. External DNS and cloud load balancers are gone. You build and deploy with only what is inside the sealed network.
To make Kubernetes Ingress work air-gapped, the first step is choosing an Ingress controller that can operate without external calls. NGINX Ingress, Traefik, and HAProxy can be built from source or imported as container images via physical media. Each must be verified for security and compatibility with your cluster’s version. Store these images in a private, internal registry.
Second, manage TLS certificates locally. Use a secure CA within the environment to create and rotate keys. Automate renewal jobs that pull from this CA instead of Let’s Encrypt. Encryption is mandatory even in sealed networks.