Skip to main content

JupyterHub Spawner for Kubernetes

Project description

kubespawner (jupyterhub-kubespawner @ PyPI)

Documentation status GitHub Workflow Status Code coverage

The kubespawner (also known as JupyterHub Kubernetes Spawner) enables JupyterHub to spawn single-user notebook servers on a Kubernetes cluster.

See the KubeSpawner documentation for more information about features and usage. In particular, here is a list of all the spawner options.

Features

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. If you want to run a JupyterHub setup that needs to scale across multiple nodes (anything with over ~50 simultaneous users), Kubernetes is a wonderful way to do it. Features include:

  • Easily and elasticly run anywhere between 2 and thousands of nodes with the same set of powerful abstractions. Scale up and down as required by simply adding or removing nodes.

  • Run JupyterHub itself inside Kubernetes easily. This allows you to manage many JupyterHub deployments with only Kubernetes, without requiring an extra layer of Ansible / Puppet / Bash scripts. This also provides easy integrated monitoring and failover for the hub process itself.

  • Spawn multiple hubs in the same kubernetes cluster, with support for namespaces. You can limit the amount of resources each namespace can use, effectively limiting the amount of resources a single JupyterHub (and its users) can use. This allows organizations to easily maintain multiple JupyterHubs with just one kubernetes cluster, allowing for easy maintenance & high resource utilization.

  • Provide guarantees and limits on the amount of resources (CPU / RAM) that single-user notebooks can use. Kubernetes has comprehensive resource control that can be used from the spawner.

  • Mount various types of persistent volumes onto the single-user notebook's container.

  • Control various security parameters (such as userid/groupid, SELinux, etc) via flexible Pod Security Policies.

  • Run easily in multiple clouds (or on your own machines). Helps avoid vendor lock-in. You can even spread out your cluster across multiple clouds at the same time.

In general, Kubernetes provides a ton of well thought out, useful features - and you can use all of them along with this spawner.

Requirements

Kubernetes

Everything should work from Kubernetes v1.6+.

The Kube DNS addon is not strictly required - the spawner uses environment variable based discovery instead. Your kubernetes cluster will need to be configured to support the types of volumes you want to use.

If you are just getting started and want a kubernetes cluster to play with, Google Container Engine is probably the nicest option. For AWS/Azure, kops is probably the way to go.

Getting help

We encourage you to ask questions on the Jupyter mailing list. You can also participate in development discussions or get live help on Gitter.

License

We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.

All code is licensed under the terms of the revised BSD license.

Resources

JupyterHub and kubespawner

Jupyter

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyterhub-kubespawner-2.0.1.tar.gz (47.1 kB view details)

Uploaded Source

Built Distribution

jupyterhub_kubespawner-2.0.1-py3-none-any.whl (49.9 kB view details)

Uploaded Python 3

File details

Details for the file jupyterhub-kubespawner-2.0.1.tar.gz.

File metadata

  • Download URL: jupyterhub-kubespawner-2.0.1.tar.gz
  • Upload date:
  • Size: 47.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for jupyterhub-kubespawner-2.0.1.tar.gz
Algorithm Hash digest
SHA256 a05194c52f34aaab1982f6585c7afa6681b18ab3e2ef47e4a3f942e3a5bcbd7d
MD5 4d2e33fd6be73ffd404ecc785f961814
BLAKE2b-256 4ec1abad0b34aa80603fb137164760dad0f6db294b36e0a4858e4efa83e9d0e0

See more details on using hashes here.

Provenance

File details

Details for the file jupyterhub_kubespawner-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: jupyterhub_kubespawner-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 49.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for jupyterhub_kubespawner-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a4136b3a27c98a991db8c37b32ad25bff115502164e5364f92d08b30af629002
MD5 9e0276f50fae46d956b131d28f1c7014
BLAKE2b-256 6dbbd81c4e3a5f07a687839402ce8a956dd41c74656829f41bdd456d03bf0599

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page