Skip to content

Commit 7833db7

Browse files
committed
chore: adjust README.md and link the post
1 parent 2778592 commit 7833db7

File tree

1 file changed

+3
-21
lines changed

1 file changed

+3
-21
lines changed

README.md

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,9 @@ Create and manage your `Jupyter` notebooks on `Kubernetes` **without** `JupyterH
88

99
### How and why?
1010

11-
Currently, if you want to deploy `Jupyter` notebooks on `Kubernetes` using available open-source tools, you need to choose between two major approaches:
12-
13-
- One that re-implements the notebooks management logic the `Kubernetes` way, it:
14-
- integrates well with `Kubernetes` ecosystem: using [Operators](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) and [CRD](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/).
15-
- is usually part of a bigger toolkit ([Kubeflow](https://www.kubeflow.org) e.g.).
16-
- comes with more features than one may need.
17-
- are complicated and add a lot of maintenance burden even for people who are familiar with `Kubernetes`.
18-
19-
20-
- The other that re-uses already existing notebooks management code (mainly [JupyterHub](https://jupyter.org/hub)) and tries to integrate it with `Kubernetes`, it:
21-
- doesn't reinvent the wheel: people who are familiar with managing notebooks outside/before Kubernetes don't feel unaccustomed.
22-
- comes with more features than one may need, `notebook-on-kube` itself will be kept as simple as possible (a straightforward [FastAPI](https://github.com/tiangolo/fastapi) application.)
23-
- relies on "hacky" code to import and connect these legacy tools to `Kubernetes` and introduce feature redundancy:
24-
- `JupyterHub` relies on [kubespawner](https://github.com/jupyterhub/kubespawner) to spawn `Kubernetes` resources (Pods, PVC etc.) representing a notebook. **But** why adding another
25-
`Kubernetes` client when we already use [Helm](https://github.com/helm/helm)? `notebook-on-kube` uses `Helm` to manage the notebooks (see [here](#create-connect-to-and-delete-a-notebook)).
26-
- `JupyterHub` adds its own auth layer, **but** why not using Kubernetes [authn](https://kubernetes.io/docs/reference/access-authn-authz/authentication/)/[authz](https://kubernetes.io/docs/reference/access-authn-authz/authorization/)
27-
(user management) features? `notebook-on-kube` uses the same `Kubernetes` [OpenID Connect](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#openid-connect-tokens) token on behalf of the user to manage their notebooks: Reuse `Kubernetes` access levels and be more transparent.
28-
- `JupyterHub` comes with its own [node-http-proxy](https://github.com/jupyterhub/configurable-http-proxy) for reverse proxying, **but** why not making use of the well-established [Ingress NGINX Controller](https://github.com/kubernetes/ingress-nginx)?
29-
`notebook-on-kube` deploys an `Ingress NGINX` Controller instance and configures it for each notebook via `Ingress` resources.
30-
31-
`notebook-on-kube` re-uses these features and tools that are already there and are tailored to run applications on `Kubernetes` and provides a third, middle ground, easy to maintain and well-integrated approach to managing notebooks on `Kubernetes`!
11+
You can check out this [post](http://ouba.online/blog/2023/3/8/you_probably_dont_need_jupyterhub_on_kubernetes/post.html).
12+
13+
`notebook-on-kube` provides the following features:
3214

3315
It provides the following features:
3416
- Authn/authz based on `Kubernetes'`.

0 commit comments

Comments
 (0)