jupyter-server / enterprise_gateway

A lightweight, multi-tenant, scalable and secure gateway that enables Jupyter Notebooks to share resources across distributed clusters such as Apache Spark, Kubernetes and others.
https://jupyter-enterprise-gateway.readthedocs.io/en/latest/
Other
615 stars 221 forks source link

Support Kubernetes scheduling constraints ( tolerations, nodeselector and affinity ) and add ingress class name #1199

Closed luong-komorebi closed 1 year ago

luong-komorebi commented 1 year ago

Documentations:

  1. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ for ( tolerations, nodeselector and affinity )
  2. https://kubernetes.io/docs/concepts/services-networking/ingress/ for ingress class name ingressClassName

Real applications:

  1. I want some machine level isolation between the main jupyter enterprise services with other spawned kernels. That cannot be ensured without some kubernetes specific constraints specification. With this separation, I can provide dedicated resources for the gateway such that no other running kernels can compete with it. Plus, there might be other applications like running the gateway on ARM machine (to save money) and running the kernels on AMD x64 machines (for maximum compatability with libraries)....
  2. For the ingress class name, it is the standard since K8s version 1.18. Without which we would have trouble using third party ingress providers / controllers like Amazon ALB controllers, nginx ingress controller
  3. Minor update to how kernel whitelist is reference in docs

This is my first contribution, so let me know if I am not following the right convention. I just loosely followed this guideline https://docs.jupyter.org/en/latest/contributing/content-contributor.html Signed-off-by: Luong Vo vo.tran.thanh.luong@gmail.com

welcome[bot] commented 1 year ago

Thanks for submitting your first pull request! You are awesome! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please make sure you followed the pull request template, as this will help us review your contribution more quickly. welcome You can meet the other Jovyans by joining our Discourse forum. There is also a intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada: