Table of Contents

Kubernetes

The following is a set of possible use cases for Kubernetes/Containers based on existing workflows - particularly related to CIS Undergraduate Courses.

Visual Studio Code

SoCS Students are increasingly using remote code execution through Visual Studio Code to write and test their assignments. Assignments are coded through VS Code on a students personal computer, which then connects to a remote environment in which it executes the code. This is currently typically done on the SoCS Linux/NoMachine cluster.

It is also possible to use Kubernetes containers as a remote execution environment. This has two major benefits.

Below are two VSCode Remote Kubernetes Options.

Okteto Extension

Instructor Workflow
name: socslinux-test
image: socsguelph/socslinux:latest
autocreate: true
workdir: /tmp
command: ["bash"]
namespace: vscodetest
volumes:
  - /root/.vscode-server    # persist vscode extensions
securityContext:
  capabilities:
    add:
    - SYS_PTRACE
persistentVolume:
  enabled: true
  storageClass: nfs-client
Student Workflow

First set up the dev environment to install the extensions and configuration files required to connect to Kubernetes. These steps only need to be done once.

Set up the project. This needs to be done once for each project.

Daily Workflow.

Bridge To Kubernetes (Microsoft) Extension

Gitlab Runners

Gitlab CI/CD