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.
Garrett Mills 2bca8fa37c
Update ''
3 years ago
container add pandas container demo 5 years ago
definitions big bang 5 years ago
demos update sample means demo 5 years ago Update '' 3 years ago add README and rename files 5 years ago big bang 5 years ago big bang 5 years ago big bang 5 years ago

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

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 ./ 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 ./ 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 ./ script. For example:

$ ./ 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 ./ command.