Theory of Air-gapped packages¶
Kubean CI builds offline assets to install Kubernetes in air-gapped environment.
NOTE: About usage for the offline assets, please refer to offline.md
This chapter explains the theory how the air-gapped packages come from.
- Assets: Github Releases
- Major contents:
Asset | Description |
---|---|
files-*.tar.gz | The binaries required in Kubespray installation: example : kubeadm, runc |
images-*.tar.gz | The k8s cluster images as well as CNI images |
os-pkgs-${linux_distribution}-${tag}.tar.gz | deb/rpm required during k8s installion |
How to build the assets¶
-
Images & binaries
As stated in Kubespray offline deployment guide, Kubespray already provides scripts to generate images and binaries list. (Thanks to great Kubespray! )
With help of Kubespray script to generate binaries & images list, then we can use manage-offline-files.sh to download those binaries and images. At last, Kubean provides an call-offline-build.yaml(Github Action scripts) to make them together.
-
os-packages (deb/rpm)
During the k8s installation, a few packages could not be installed as binaries, so we have to install them via deb/rpm. The os packages list defines what packages will be involved.
Github Action will build packages in different OS (as Qemu) via
dnf/apt
to download and archive RPM/DEB packages. -
CI process
The offline assets are generated/managed by Github Action scripts.