Hello Shane, > My intent for ElastiCluster is to deploy Slurm locally in our building's > existing Ubuntu 16.04 workstations with Nvidia 1080Ti GPUs using docker and > ansible for small non urgent jobs. > Then also deploy to AWS for larger and more urgent/client jobs. > I was hoping to run ElastiCluster locally (not cloud) first.
If I were you, I would deploy a small test cluster on AWS first, so you know what you are getting with ElastiCluster. If then you're happy with it, try to overwrite your current cluster's config. You can find a sample config file for deploying a SLURM cluster with GPUs on AWS here: https://github.com/gc3-uzh-ch/elasticluster/blob/master/examples/slurm-with-gpu-on-aws.conf > I'm happy to let ElastiClustic over my existing manual setup > I am a little confounded by the Config settings would be for a local only > deployment > Have you deployed ElastiCluster on a local network of servers or > workstations before? It can be done (and yes I have done it), but it's not an intended use case of ElastiCluster ;-) Basically, you would do it like this: 1.) Create an Ansible inventory file using the IP addresses of your local machines. E.g., assuming your local cluster frontend is 10.0.0.1 and the nodes are 10.0.0.11 through 10.0.0.20, you would write something like the following: ######## begin file `cluster,inventory` ######## [slurm_master] master001 ansible_host=10.0.0.1 ansible_user=ubuntu ansible_python_interpreter=/usr/bin/python2.7 multiuser_cluster=yes [slurm_worker] worker001 ansible_host=10.0.0.11 ansible_user=ubuntu ansible_python_interpreter=/usr/bin/python2.7 multiuser_cluster=yes worker002 ansible_host=10.0.0.12 ansible_user=ubuntu ansible_python_interpreter=/usr/bin/python2.7 multiuser_cluster=yes worker003 ansible_host=10.0.0.13 ansible_user=ubuntu ansible_python_interpreter=/usr/bin/python2.7 multiuser_cluster=yes # ... etc ######## end file `cluster.inventory` ######## 2.) Check out the ElastiCluster playbooks For instance, to check out code in directory `$HOME/elasticluster`, run:: git clone https://github.com/gc3-uzh-ch/elasticluster $HOME/elasticluster 3.) Navigate to the directory containing the ElastiCluster playbooks:: cd $HOME/elasticluster/elasticluster/share/playbooks 4.) Now run Ansible to do the deployment:: ansible-playbook --inventory /path/to/cluster.inventory --become -v ./site.yml Basically, everything is controlled via Ansible groups and variables in the inventory file; by modifying the inventory file you can get Ansible to install and configure different pieces of software. This is also why it may be a good idea to deploy a test cluster first: so you can have a look at the inventory file generated by ElastiCluster and use that as a base for your local cluster. Also note: ElastiCluster requires Ansible < 2.4.0 (there's some incompatibility with Ansible 2.4 which I haven't properly figured out yet). Let us know how it goes! Ciao, R -- You received this message because you are subscribed to the Google Groups "elasticluster" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
