Skip to content

Configuration for self-hosted Kubernetes cluster on lab workstations

Notifications You must be signed in to change notification settings

boettiger-lab/k8s

Repository files navigation

Self-hosting JupyterHub on GPU workstations

Home to the configuration files for our lab jupyterhub.

See Zero to JupyterHub for excellent official documentation on everything.

See blog post for some notes on this setup, specifically for k3s and GPU.

With external Caddy

  • Run K3s with --disabled=traefik (as Caddy will be handling the external network; otherwise this creates conflicts over the http/https ports, 80 & 443).
  • For jupyterhub, config needs:
ingress:
  enabled: true
proxy:
  service:
    type: NodePort

nothing else is needed in proxy (i.e. we don't need https section as Caddy will handle this. (ClusterIP may be a more natural choice but I think will be an internal node IP either way).

  • Then, in Caddyfile, just map to the Cluster-IP shown for the proxy service (i.e. by kubectrl -n testjupyter get services proxy-public), e.g. something like:
<insert-domain-name> {
  tls <insert-email-address>
  reverse_proxy <insert-cluster-ip> {
    header_up Host {host}
  }
}

About

Configuration for self-hosted Kubernetes cluster on lab workstations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages