Open acjbrouwer opened 1 year ago
The logical approach is to abstract the shared running of the notebook container and associated containers for a user connection as a K8s pod, instantiating one such pod for each connection.
Session management can probably be based on Rancher user-access and K8s namespace facilities.
Orchestrating this with bare K8s YAML resulted in a very elaborate ordeal. The amount of specialization can be somewhat controlled with Kustomize declarative management. But there are also user-facing and user-authentication aspects to this. Hence exploring re-use of existing solutions that target K8s.
Elaborate Kubernetes orchestration that instantiates the linked containers on a per-connection basis such that each notebook view is backed by unique state, including the state of the subjugated containers. This requires fronting the notebook web interface with a load balancer and Kubernetes pod orchestration.