Warewulf demo with Jonathon Anderson
In this short demo, CIQ's Jonathon Anderson opens the Warewulf node images repository, which sits alongside the main Warewulf repository and holds example node images for Rocky Linux, with Debian and SUSE Leap in progress. Some images are built in a continuous integration pipeline and can be imported into Warewulf directly. GPU images are not published that way, because the driver version needs to match your hardware and there are licensing and redistribution constraints, so the repository instead provides example container definitions you build yourself.
Anderson explains that Warewulf supports the Open Container Initiative ecosystem, so the recommended approach is to write a container definition file, build it with Podman or Docker, and import the result. There is no runtime penalty because the node boots a bare metal image. His preferred Rocky Linux with NVIDIA driver example starts from the base Warewulf Rocky Linux image, adds the NVIDIA repositories, and builds the driver with DKMS for every kernel in the image, since Warewulf images carry a kernel unlike typical microservice containers.
Key takeaways
- The Warewulf node images repository publishes example images for Rocky Linux, with Debian and SUSE Leap in progress, some built via CI for direct import.
- GPU images are not prebuilt because driver versions must match your hardware and NVIDIA driver redistribution has licensing considerations.
- The recommended workflow is a container definition file built with Podman or Docker, then imported into Warewulf as a bare metal image.
- Warewulf node images include a kernel, so the NVIDIA example uses DKMS to build the driver for every kernel present.
Questions this video answers
How do you build a Warewulf node image with an NVIDIA driver?
Anderson's preferred method is a container definition that starts from the base Warewulf Rocky Linux image, adds the NVIDIA driver repositories, installs the helper tool, and builds the driver with DKMS for all kernels in the image. Build it with Podman or Docker and import it into Warewulf; it then boots as a bare metal image.
This video is part of the Warewulf Pro playlist. Browse every CIQ video by product and topic.
Transcript
W so we have this repository this is the Warewulf node images repository it's alongside the main Warewulf get repository um where we put up example node images and so uh some of these for Rocky Linux and we're working on at Debbie and one and for sus leap um some of these we actually publish where we build them as part of a a continuous integration Pipeline and you can just import those directly into where without having to do anything uh we don't do that for the GPU images for a couple reasons one is that it's a little bit more like you probably care what version
of the GPU driver you're running it needs to match your hardware and match uh your environment um so we don't want to make that decision for you you're probably going to have to build it yourself anyway but also there's just licensing and redistribution things to keep in mind with the GPU drivers but what we do is we keep uh a separate set of container images that are just examples in here that you can pull down and build yourself so uh one of those is this Rocky Linux with the Nvidia driver container this is my preferred way to do um uh to do a Warewulf image
with an Nvidia driver so if you haven't used Warewulf before um it it can do the same thing that Brite does of you just have a directory that's your image and you kind of shell into it and you make changes but Warewulf also integrates support for the OC the the open container initiative ecosystem of tools and so the recommended way to build a node image is to build a container definition file like this and then you can build it with podman or Docker or whatever you're using and import that container into Warewulf and you're not running a container it's there's no like performance penalty it's
a bare metal image but we just build it with these tools and there are a lot of benefits to that so one of them is here as in in this example we can start from the base uh Warewulf Rocky Linux image that's elsewhere in this repository and we build for you uh you can start from that and you don't have to redefine everything that's in that container image you can just add the repositories for the Debian uh sorry Debian add the repositories for the Nvidia driver and install like the helper tool and then we have a little bit of example stuff here this saved a
View full transcriptHide full transcript
bunch of people some time for getting the the dynamic kernel module system to build the driver for all the kernels that are in your container because unlike a traditional let's say Docker style microservice container Warewulf containers have a kernel in them because they're going to run on Hardware so we have that kernel already coming from the base image and then we install the driver and say please uh build that driver for hopefully only one but all of the kernels that you have here
Built for scale. Chosen by the world’s best.
2.75M+
Rocky Linux instances
Being used world wide
90%
Of fortune 100 companies
Use CIQ supported technologies
250k
Avg. monthly downloads
Rocky Linux
9
Enterprise products
Spanning the kernel to the orchestrator
Have questions about your infrastructure?
Talk to a CIQ engineer about Rocky Linux, HPC, and AI infrastructure.
