This document refers to release 1.1. 

Overview

The Labs Workbench consists of a set of core services (Angular UI, REST API, service catalog) deployed in a Kubernetes cluster that allow users to start applications/services in the cluster.

The overall architecture includes a Kubernetes cluster, typically deployed on OpenStack, with core services (UI, API, etc), system services (in-cluster DNS, monitoring, logging), and user services.  The system also supports optional distributed storage across user containers (i.e., you can access the same "home" directory in your running applications across containers/applications).

Workbench on Kubernetes

(Note: We are in the process of upgrading our deployment process to use a new terraform approach that will allow us to upgrade to Kubernetes 1.10.  The deploy-tools process referenced below still deploys a 1.5 cluster).

Kubernetes is a container orchestration environment.  This section describes Kubernetes as applied in Labs Workbench. For more detailed information, please see their documentation.

The Labs Workbench platform assumes a Kubernetes environment that has been deployed using out deploy-tools container. This is a set of Ansible playbooks that provisions instances and volumes via the OpenStack API. The deployment process has been tested on Jetstream, NCSA Nebula, and SDSC Cloud. For single-node/development environments, you can also use our ndslabs-startup process, which deploys Kubernetes via Hyperkube.

Kubernetes concepts as applied in Labs Workbench:


Labs Workbench adds the following abstractions:


Additional features:


Current priorities

We are currently working toward a 2.0 release that will include the following: