Running slurm-bridge locally

Table of Contents

Overview

You may want to run slurm-bridge on a single machine in order to test the software or familiarize yourself with it prior to installing it on your cluster. This should only be done for testing and evaluation purposes and should not be used for production environments.

We have provided a script to do this using Kind and the hack/kind.sh script.

This document assumes a basic understanding of Kubernetes architecture. It is highly recommended that those who are unfamiliar with the core concepts of Kubernetes review the documentation on Kubernetes, pods, and nodes before getting started.

Pre-requisites

  • go 1.17+ must be installed on your system

Setting up your environment

  1. Install Kind using go install:

    go install sigs.k8s.io/kind@v0.29.0
    

    If you get kind: command not found when running the next step, you may need to add GOPATH to your PATH:

    export GOPATH=$HOME/go
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
    
  2. Confirm that kind is working properly by running the following commands:

    kind create cluster
    
    kubectl get nodes --all-namespaces
    
    kind delete cluster
    
  3. Clone the slurm-bridge repo and enter it:

    git clone git@github.com:SlinkyProject/slurm-bridge.git
    cd slurm-bridge
    

Installing slurm-bridge within your environment

Provided with slurm-bridge is the script hack/kind.sh that interfaces with kind to deploy the slurm-bridge helm chart within your local environment.

  1. Create your cluster using hack/kind.sh:

    hack/kind.sh --bridge
    
  2. Familiarize yourself with and use your test environment:

    kubectl get pods --namespace=slurm-bridge
    kubectl get pods --namespace=slurm
    kubectl get pods --namespace=slinky
    

At this point, you should have a kind cluster running slurm-bridge.

Cleaning up

hack/kind.sh provides a mechanism by which to destroy your test environment.

Run:

hack/kind.sh --delete

To destroy your kind cluster.