Resources to use Kubernetes for OpenMPI and high-performance computing.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Garrett Mills 9d91c08045 update helm link 2 months ago
container add pandas container demo 2 months ago
definitions big bang 2 months ago
demos update sample means demo 2 months ago
README.md update helm link 2 months ago
cluster_exec.sh add README and rename files 2 months ago
setup.sh big bang 2 months ago
start_cluster.sh big bang 2 months ago
stop_cluster.sh big bang 2 months ago

README.md

Computing in the Kubernetes Framework

This repository contains some resources for getting started with OpenMPI and high-performance computing on Kubernetes. This accompanies a presentation given by Garrett Mills at the KU CRMDA on Docker, Kubernetes, and high-performance computing.

Get up and running.

If you want to follow along or try OpenMPI on Kubernetes out for yourself, you can get started by creating a virtual cluster on your machine with Minikube. Here’s how to get set up:

  1. Install VirtualBox. Our test Kubernetes cluster will run on a collection of VMs, so we’ll install VirtualBox to make that possible. Here’s the download.
  2. Install kubectl. This is the Kubernetes CLI tool. It’s how you interface with Kubernetes. Grab it here.
  3. Install Minikube. Minikube is a software tool that creates a Kubernetes cluster with VMs on your local machine. This is an excellent tool for testing deployments. Get it here.
  4. Install Helm. Helm is a Kubernetes package manager used by the cluster framework. Here’s the link.
  5. Clone this repository to your computer using Git: git clone https://git.glmdev.tech/glmdev/k8s-hpc-demo

That’s it! You’re ready to start using the Kubernetes cluster on your computer.

Basic use.

From within the cloned repository’s folder, run the ./setup.sh command. This will clone the kube-openmpi repository and generate the SSH key used by OpenMPI.

Now, we can start the cluster by running the ./start_cluster.sh script. This will create the Kubernetes resources and start the cluster. If you have the watch command line tool installed, it will open up the cluster status page so you can see when it’s done initializing.

At this point, we have a fully-functional OpenMPI cluster. By default, the definitions provided in this repo will create 5 worker nodes. You can run commands on the cluster using the ./cluster_exec.sh script. For example:

$ ./cluster_exec.sh mpiexec --allow-run-as-root --hostfile /kube-openmpi/generated/hostfile -n 5 echo "Hello, world!"
Hello, world!
Hello, world!
Hello, world!
Hello, world!
Hello, world!

When you’re finished with the cluster, stop it using the ./stop_cluster.sh command.