Batch Computing on OpenShift

This workshop is designed to teach concepts around batch, grid, and high-performance computing (HPC) on OpenShift.

Topics span both cloud-native approaches (Kubernetes-native batch APIs, Jobs, CronJobs, and ecosystem operators) and traditional HPC/HTC schedulers and runtimes (e.g. Slurm, PBS, HTCondor, Grid Engine) integrated with or migrated to OpenShift—so you can run scientific, analytics, and enterprise batch workloads the way that fits your stack.

Lab structure

Wether you are writing a lab

  • First, we will build a monolithic application already compiled as RPM packages and put it into a container. This will allow us to deploy the application, copy it between machines, and update it separately from the operating system. This process affords us a portable and easily maintained component instead of tightly coupling the application with your operating system maintenance.

  • In closing we will build a second container on a different operating system version that makes an application not packaged into RPMs. This will be similar to a web application deployment, positioning the correct files at the right locations. To do this, we will pull a project from GitHub and position the component files within our container image. The purpose of this is to achieve a portable application container that can deploy on several different versions of Red Hat Enterprise Linux. This also provides the benefit of decoupling your application maintenance, which would all happen by building new containers versus operating system maintenance. The container is no longer reliant on the operating system installed on the machine where the application is deployed.

    1. Now let’s examine this cluster a bit more by describing the cluster (the $GUID environment variable is already set for you so you can immediately describe your individual cluster):

      podman ps
      Sample Output
      CONTAINER ID  IMAGE                        COMMAND           CREATED      STATUS      PORTS                 NAMES
      2dcfee9e50c4  docker.io/library/httpd:2.4  httpd-foreground  3 hours ago  Up 3 hours  0.0.0.0:8080->80/tcp  showroom-httpd

Lab Access

The terminal window to your right is already logged into the lab environment as the devops user via ssh. All steps of this lab are to be completed as the devops user.