clusterworks is a toolkit that brings together the best modern technologies in order to create fast and flexible turn-key HPC environments, deployable on bare-metal infrastructure or in the cloud.
Key features
- Built on the amazing work by the OpenHPC Community
- Easy to use workflows for provisioning and deploying cluster environments
- Repository, package and configuration management
- Turn-key, extensible and instilled with best practice
- Containerize an environment to share or deploy in the cloud
- 100% free and open-source software
The inception repository provides the core Ansible playbook, which is to build a cluster environment and install all the other tools using a well defined, easy to use and extensible workflow.
To deploy on bare metal, just provide an inventory of the physical resources.
To deploy in the cloud, a container can be created from your environment configuration using Ansible Container.
- Clone or fork this repository
- Copy the template config file to
config.yml
and edit as required - Add machines to the inventory
- Run
./run_playbook.sh install_master
- Run
./run_playbook.sh install_nodes
- Boot up all the nodes
- Run
./run_playbook.sh update_nodes
- CentOS / RedHat
- SLES
- xCAT Stateful
- xCAT Stateless
- Warewulf
- PBS Professional
- Slurm
This playbook supports two kinds of proxies.
Firstly, set proxy_host
and proxy_port
in the config file to set an upstream proxy to download assets required from the Internet.
Secondly, set repository_type == 'cache'
in order to deploy a local Squid proxy on the SMS node in order to cache packages for worker node deployment.
If you also use a proxy to connect to the internet, set it as above and it will be configured as the upstream peer for the local cache.
GPLv3