Skip to content

Advanced use of Kubernetes

Deploying your own Kubernetes clusters

We are going to be using Jetstream-2 for this section and will rely on their documentation for Kubernetes deployment

Helm

Helm is the package manager for Kubernetes.

Zero to JupyterHub

JupyterHub for Kubernetes

Project Jupyter maintains a lesson on deploying K8s and Helm with minik8s across a variety of commercial cloud solutions.

The closest example that you can attempt is the Bare Metal example on JS-2

Miniaturized versions of Kubernetes

Why use mini versions of Kubernetes?

There are multiple projects developing "light-weight" Kubernetes.

The justification for these projects being that full Kubernetes deployments with all of its functionality increases the cognitive load and the number of configurations and parameters that you must work with when running containers and clusters, particularly at the edge.

Projects that are working on miniaturized versions of K8s:

name functionality use cases
minikube
microK8s runs fast, self-healing, and highly available Kubernetes clusters
K3s runs production-level Kubernetes workloads on low resourced and remotely located IoT and Edge devices
K3d lightweight wrapper that runs K3s in a docker container

Install K3s

K3s

Install minikube

Minikube is useful for running K8s on a single node or locally -- its primary use is to teach you how to use K8s.

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

sudo minikube config set vm-driver none

Installing microK8s


Last update: 2023-03-27