9 Edge Image Builder #
See the Official Repository.
Edge Image Builder (EIB) is a tool that streamlines the generation of Customized, Ready-to-Boot (CRB) disk images for bootstrapping machines. These images enable the end-to-end deployment of the entire SUSE software stack with a single image.
Whilst EIB can create CRB images for all provisioning scenarios, EIB demonstrates a tremendous value in air-gapped deployments with limited or completely isolated networks.
9.1 How does SUSE Edge use Edge Image Builder? #
SUSE Edge uses EIB for the simplified and quick configuration of customized SLE Micro images for a variety of scenarios. These scenarios include the bootstrapping of virtual and bare-metal machines with:
- Fully air-gapped deployments of K3s/RKE2 Kubernetes (single & multi-node) 
- Fully air-gapped Helm chart and Kubernetes manifest deployments 
- Registration to Rancher via Elemental API 
- Metal3 
- Customized networking (for example, static IP, host name, VLAN’s, bonding, etc.) 
- Customized operating system configurations (for example, users, groups, passwords, SSH keys, proxies, NTP, custom SSL certificates, etc.) 
- Air-gapped installation of host-level and side-loaded RPM packages (including dependency resolution) 
- Registration to SUSE Manager for OS management 
- Embedded container images 
- Kernel command-line arguments 
- Systemd units to be enabled/disabled at boot time 
- Custom scripts and files for any manual tasks 
9.2 Getting started #
Comprehensive documentation for the usage and testing of Edge Image Builder can be found here.
Additionally, here is a quick start guide (Chapter 3, Standalone clusters with Edge Image Builder) for Edge Image Builder covering a basic deployment scenario.
9.3 Known issues #
- EIB air-gaps Helm charts through templating the Helm charts and parsing all the images within the template. If a Helm chart does not keep all of its images within the template and instead side-loads the images, EIB will not be able to air-gap those images automatically. The solution to this is to manually add any undetected images to the - embeddedArtifactRegistrysection of the definition file.