I just noticed that we host all of the cluster container images except for Kubernetes images in Harbor. We use kubeadm init to install the Kubernetes images into podman/CRI-O while building the node images, so air-gapped clusters will deploy and start. There are some problems with this though:
These images aren't included in the cluster manifest, so it's possible for these images to be evicted from nodes.
If one of these images does get evicted future pulls will fail for air-gapped clusters.
This will requires some work:
Add the Kubernetes image SHA256 hashes to the cluster manifest
Rename the Kubernetes images in podman.
Modify the image references in the static pod manifests deployed by kubeadm.
I just noticed that we host all of the cluster container images except for Kubernetes images in Harbor. We use kubeadm init to install the Kubernetes images into podman/CRI-O while building the node images, so air-gapped clusters will deploy and start. There are some problems with this though:
This will requires some work:
Not a high priority right now.