kubernetes
72 posts
-
Deploy ngshare on Jetstream with a Manila volume (Kubernetes)
This tutorial shows how to deploy nbgrader with ngshare on Jetstream Kubernetes where ngshare's SQLite database lives on a Manila CephFS share instead of a Cinder volume.
-
Deploy JupyterHub on Jetstream2 with OpenTofu, Magnum and Traefik
This tutorial deploys a JupyterHub on Jetstream2 with a single tofu apply. It combines the steps of the four-post Jetstream2 Kubernetes series (Magnum cluster, Traefik ingress, JupyterHub, cert-manager) into one reproducible OpenTofu configuration.
-
Setup HTTPS with cert-manager on Jetstream2 Kubernetes (4 of 4)
This post is part of a series on deploying JupyterHub on Jetstream2: 1. Deploy Kubernetes on Jetstream2
-
Deploy JupyterHub on Jetstream2 Kubernetes (3 of 4)
This post is part of a series on deploying JupyterHub on Jetstream2: 1. Deploy Kubernetes on Jetstream2
-
Install Traefik Ingress Controller on Jetstream2 Kubernetes (2 of 4)
This post is part of a series on deploying JupyterHub on Jetstream2: 1. Deploy Kubernetes on Jetstream2
-
Deploy Kubernetes on Jetstream2 with Magnum and Cluster API (1 of 4)
This post is part of a series on deploying JupyterHub on Jetstream2: 1. Deploy Kubernetes on Jetstream2
-
Deploy the Dask Operator for Kubernetes on Jetstream2 and access it from JupyterHub
This post describes how to deploy the Dask Operator for Kubernetes alongside a Helm-based JupyterHub installation on a Jetstream2 Kubernetes cluster (Magnum). The Operator provides a Kubernetes-native way to create and manage Dask clusters via custom resources, simplifying multi-tenant setups.
-
Migrate from NGINX to Traefik Ingress on Jetstream2 Kubernetes
ingress-nginx has been retired and will no longer receive updates. This guide walks through migrating an existing Jetstream2 Kubernetes cluster from ingress-nginx to Traefik, with minimal downtime.
-
Deploying JupyterHub on OpenStack Magnum with OpenTofu
ingress-nginx, which has been retired, so this workflow is no longer recommended. Use the new tutorial Deploy JupyterHub on Jetstream2 with OpenTofu, Magnum and Traefik instead, which deploys Traefik and keeps the same single tofu apply workflow.
-
Deploy nbgrader on Jetstream with a Manila exchange disk (Kubernetes)
This tutorial shows how to deploy nbgrader on Jetstream Kubernetes using a shared Manila disk mounted on all JupyterHub user pods.
-
Create a Manila share in Exosphere and mount it for all JupyterHub users
This tutorial shows how to create a Manila share in Exosphere and mount it into all JupyterHub single-user pods on Jetstream 2. This provides a ReadWriteMany (RWX) shared filesystem suitable for shared datasets and tools.
-
Deploy nbgrader on Jetstream with ngshare (Kubernetes)
updated: Deploy ngshare on Jetstream with a Manila volume (Kubernetes). The Manila CephFS volume honors fsGroup on RWX claims, so ngshare works without the initContainer workaround described in the Troubleshooting section below.
-
Deploy a NFS server to share data between JupyterHub users on Jetstream
This is an updated version of my 2025 tutorial on deploying a NFS server to share data between JupyterHub users on Jetstream.
-
Setting up shared NFS home directories & shared data for JupyterHub on Kubernetes
This tutorial provides a walkthrough on how to set up a shared NFS server for JupyterHub users' home directories and shared data.
-
Deploy the Dask Operator for JupyterHub on Kubernetes
Tutorial OBSOLETE Please check the updated version of this tutorial. This post describes how to deploy the Dask Operator for Kubernetes alongside a Helm-based JupyterHub installation. The Operator provides a Kubernetes-native way to create and manage Dask clusters via custom resources, simplifying multi-tenant setups, it is therefore more integrated into the Kubernetes ecosystem compared to Dask Gateway.