FAQ | Troubleshooting | Glossary
Google Cloud Platform instances require a source image or source image family which the instance will boot from. SchedMD provides public images for Slurm instances, which contain an HPC software stack for HPC ready images. Otherwise, custom images can be created and used instead.
slurm-gcp
supports images built on these OS families:
- RHEL 7
- CentOS 7
- Debian 10
- Ubuntu 20.04
SchedMD releases public images on Google Cloud Platform that are minimal viable images for deploying Slurm clusters through all method and configurations.
NOTE: SchedMD generated images using the same process as for custom images but without any additional software and only using clean minimal base images for the source image (e.g.
centos-cloud/centos-7
).
schedmd-v5-slurm-22-05-4-debian-10
schedmd-v5-slurm-22-05-4-ubuntu-2004-lts
schedmd-v5-slurm-22-05-4-centos-7
schedmd-v5-slurm-22-05-4-hpc-centos-7
To create slurm_cluster compliant images yourself, a custom Slurm image can be created. Packer and Ansible are used to orchestrate custom image creation.
Custom images can be built from a supported private or public image (e.g. hpc-centos-7, centos-7). Additionally, ansible roles or scripts can be added into the provisioning process to install custom software and configure the custom Slurm image.
Install software dependencies and build images from configation.
See slurm-gcp packer project for details.
Before you build your images with packer, you can modify how the build will happen. Custom packages and other image configurations can be added by a few methods. All methods below may be used together in any combination, if desired.
- Role scripts runs all scripts globbed from scripts.d. This method is intended for simple configuration scripts.
- Image configuration can be extended by specifying extra custom playbooks using
the input variable
extra_ansible_provisioners
. These playbooks will be applied after Slurm installation is complete. For example, the following configuration will run a playbook without any dependencies on extra Ansible Galaxy roles:extra_ansible_provisioners = [ { playbook_file = "/home/username/playbooks/custom.yaml" galaxy_file = null extra_arguments = ["-vv"] user = null }, ]
- The Slurm image can be built on top of an existing image. Configure the
pkrvars file with
source_image
orsource_image_family
pointing to your image. This is intended for more complex configurations because of workflow or pipelines.