Create Custom Images
Create and define custom SUNK images
When using Slurm, it is common practice to create a custom image with task-specific software and dependencies installed. CoreWeave publishes SUNK images, which can be fully customized at every stage of deployment.
Customize a published SUNK image
You can customize an existing SUNK image with a Dockerfile, as detailed below.
-
Browse the container registry for a published SUNK image that closely matches your requirements.
-
Create a Dockerfile using the
FROM
directive to specify the selected base image. For example:ExampleFROM coreweave/sunk-base:latest# Your customizations go here...TipFor more information about using the
FROM
instruction, see the Docker documentation. -
Add the needed software and dependencies by extending the Dockerfile with custom instructions.
-
Build the Dockerfile to create a custom image.
Using custom images
After customizing a SUNK image with a Dockerfile, you will need to define the image in the appropriate section of the values.yaml
file, depending on the type of node the image is intended for. This process is the same for all Slurm node types, including the Node Controller and database. The examples below demonstrate how to define SUNK images for a compute node and for a login node.
Define a custom compute node image
Compute nodes define custom images in the compute.nodes.<node-type>
section of the values.yaml
file.
Specify the custom image, including the repository and tag, for each compute node definition in compute.nodes
, as in the following example:
compute:nodes:my-node-type:image:repository: custom-slurmdtag: 1.0.0
Define a custom login node image
Login nodes define custom images in the login.image
section of the values.yaml
file.
Specify the custom image, including the repository and tag, in login.image
, as in the example below:
login:image:repository: custom-controllertag: 1.0.0