The HPC Toolkit has officially supported the HPC CentOS 7 VM Image as the primary VM image for HPC workloads on Google Cloud since it's release. Since the HPC CentOS 7 VM Image comes pre-tuned for optimal performance on typical HPC workloads, it is the default VM image in our modules, unless there is specific requirement for a different OS distribution.
Exceptions:
- DDN-EXAScaler: The underlying terraform module has a limitted set of supported images documented in the exascaler-cloud-terraform github repo. This requirement only applies to the servers, not the clients.
- omnia-install: Only provides support for Rocky 8.
The HPC Toolkit officially supports Ubuntu based VM images in the majority of our modules, with a couple exceptions:
- htcondor-configure: Only provides support for the HPC CentOS 7 image.
- nfs-server: Only provides support for CentOS 7 images for the server itself.
- DDN-EXAScaler: The underlying terraform module has a limitted set of supported images documented in the exascaler-cloud-terraform github repo. This requirement only applies to the servers, not the clients.
- omnia-install: Only provides support for Rocky 8.
HPC Toolkit modules and startup scripts
have been evaulated against the ubuntu-2004-lts
image family. For more
information about the Ubuntu Google Cloud images, see the Canonical
documentation.
To use the Ubuntu images with the schedmd-slurm-gcp-v5
modules, follow
the pattern used in the slurm-gcp-v5-ubuntu2004.yaml example.
In most other modules that provide the option to set a VM image, you can set it to use the Ubuntu image with the following:
...
settings:
instance_image:
family: ubuntu-2004-lts
project: ubuntu-os-cloud
The HPC Toolkit strives to provide flexibility wherever possible. It is possible to set a VM image in many HPC Toolkit modules. While we do not officially support images not listed here, other public and custom images should work with the majority of modules with or without further customization, such as custom startup-scripts.
HPC Toolkit modules based on terraform modules in Slurm on GCP
allow custom images via custom instance templates and directly through the
instance_image
variable, but they have explicit requirements to function
correctly with the Slurm cluster. We recommend one of two options for creating a
custom image for these modules:
- Use the packer templates hosted in the
Slurm on GCP github repository directly. The
example.pkrvars.hcl
file can be customized to your needs, by supplying a different base image or through theextra_ansible_provisioners
variable. - Create a custom image with a HPC Toolkit packer module
using one of the Slurm on GCP images as the base image. The image can be
customized via
shell_scripts
,ansible_playbooks
or a providedstartup_script
.
For more information on the Slurm on GCP public images, see their documentation. From there, you can see which public images are available, which software is installed on them and more information on how to customize them using option 1 listed above.
These instructions apply to the following modules: