Description
Pluto is proof-of-concept application for demonstrating the work that the High-Performance Computing (HPC) team at Canonical has accomplished over the past several months. Pluto showcases the Charmed HPC project by automatically bootstrapping a micro-HPC cluster. The following services are deployed by Pluto to build the cluster:
After several minutes, you will have a fully-functional charmed micro-HPC cluster at your fingertips! Take the cluster for a spin and see how Ubuntu can meet your HPC needs!
Note: Pluto is proof-of-concept application to set up a small, working Charmed HPC cluster for personal experimentation. It should not be used for production-level deployments.
Usage
Requirements
Your system needs to have the following requirements installed to use pluto to deploy a micro-HPC cluster:
Also, you should have access to a Juju supported cloud as well. Pluto only supports machine charms, so Kubernetes-base clouds such as microk8s or Google GKE are not supported. If you are planning on using LXD as your cloud, see the section Appendix: Using LXD for extra steps before you bootstrap the micro-HPC cluster.
Setting up Juju
After installing snapd and juju, bootstrap a cloud controller using the following command:
juju bootstrap
You will be taken an interactive dialog to configure your cloud controller. Please visit the Juju documentation for specific information on how to bootstrap a Juju controller for your target cloud.
Bootstrapping your micro-HPC cloud
Once the Juju controller for the cloud of you choice has been bootstrapped, use snap
to install pluto:
sudo snap install pluto
Now use the following command to bootstrap your micro-HPC cluster:
pluto bootstrap
In several minutes you will now have access to your very own micro-HPC cluster! Have fun!
Appendix: Using LXD
pluto will not initially work with LXD due to LXD containers being initially unable to mount or export NFS shares. This has to do with LXD containers AppArmor configuration. To enable NFS exporting/mounting, use the following commands to modify the default LXD profile on your system. This needs to be done before you bootstrap the micro-HPC cluster with pluto:
lxc profile set default security.privileged true
lxc profile set default raw.apparmor 'mount fstype=nfs*, mount fstype=rpc_pipefs,'
Note: Given that you need to elevate the privileges of the LXD containers for the micro-HPC cluster to function, it is strongly recommended to use another cloud such as OpenStack or MAAS.
Thank you for your report. Information you provided will help us investigate further.
There was an error while sending your report. Please try again later.
You are about to open
Do you wish to proceed?
Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.
Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.
If you’re running Ubuntu 16.04 LTS (Xenial Xerus) or later, including Ubuntu 18.04 LTS (Bionic Beaver) and Ubuntu 20.04 LTS (Focal Fossa), you don’t need to do anything. Snap is already installed and ready to go.
For versions of Ubuntu between 14.04 LTS (Trusty Tahr) and 15.10 (Wily Werewolf), as well as Ubuntu flavours that don’t include snap by default, snap can be installed from the Ubuntu Software Centre by searching for snapd.
Alternatively, snapd can be installed from the command line:
sudo apt update
sudo apt install snapd
Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.
To install pluto, simply use the following command:
sudo snap install pluto --edge
Browse and find snaps from the convenience of your desktop using the snap store snap.
Interested to find out more about snaps? Want to publish your own application? Visit snapcraft.io now.
Get to know Canonical, the company behind the products.
The world's favourite Linux OS for servers, desktops and IoT.
One subscription for security maintenance, support, FIPS and other compliance certifications.
The app store for Linux: secure packages and ultra-reliable updates.
A pure-container hypervisor. Run system containers and VMs at scale.
Build a bare metal cloud with super fast server provisioning.
Upgrades, maintenance, support, and fully managed options for long-term, low-cost infra.
Software-defined storage that lowers your total cost of ownership.
App portability for K8s on VMware, Amazon, Azure, Google, Oracle, IBM and bare metal.
Deploy, integrate and manage applications at any scale, on any infrastructure.
Stream Android applications to any device.
The software collaboration platform behind Ubuntu.
Optimised Ubuntu for public clouds.
Spin up Ubuntu VMs on Windows, Mac and Linux.
Control and customise your cloud instances.
Systems management and security patching for Ubuntu.
Simplify and standardise complex network configuration.
AI and MLOps at any scale, on any cloud.
Deploy a fully functional cloud in minutes.