JupyterHub on Kubernetes-- Helm Chart简介
- 本文地址，https://my.oschina.net/u/2306127/blog/1836175，by openthings，2018-06.28.
- 更多内容，参考 JupyterHub on Kubernetes部署与应用指南 。
JupyterHub 使得对多个用户提供不同的Jupyter服务实例成为可能（Jupyter本身已经可以让多个用户使用同一个实例，而且共享里面的数据和代码）。通过 JupyterHub Helm Chart，可以进一步安装到 kubernetes 中去运行，从而使JupyterHub 具有更好的伸缩性、稳定性和灵活性，甚至于可以在同一个集群中运行多个隔离的JupyterHub环境，方便地进行数据探索和模型测试，快速进行环境迁移部署，支持运行资源的调配和状态监控。
我们JupyterHub团队非常高兴滴宣布JupyterHub Helm Chart的新版本: version 0.5发布（本文翻译时已是0.6）。这里描述了该release的新特性.。We’ve nicknamed the releases of the JupyterHub Helm Chart after famous cricketers, in this case world-class bowler Hamid Hassan*.
该版本应用JupyterHub 0.8, 加入了更好的HTTPS 支持，改进了伸缩性到 ~4,000 同时用户。查看 Helm Chart Changelog 获得更多信息。
JupyterHub 0.8 包含了很多新特性，其中很多得益于JupyterHub到 Kubernetes的部署，下面是与 Helm Chart configuration 有关的说明：
- Lots of performance improvements. We now know we can handle up to 4k active users.
- Limit the number of users who can try to launch the hub at once. This can be tuned to avoid crashes when hundreds of users try to launch at the same time. It gives them a friendly error message and asks them to try later. See
- Limit the number of simultaneous active users . The Active Server limit can be used to limit the total number of active users that can use the hub at any given time. This allows admins to control the size of their clusters more effectively. See
- Memory limits & guarantees can now contain fractional units. So you can say
0.5Ginstead of having to use
- No more ‘too many redirects’ errors at scale. This fixes an annoying race condition causing users to get stuck in a redirect loop when starting their servers.
Version 0.5 of the helm chart makes it easier for admins to set up HTTPS for their users with Let’s Encrypt. Users often access a JupyterHub instance from a public URL. To avoid nefarious behavior and increase security, using HTTPS is important. You can now choose to use Let’s Encrypt or a valid HTTPS certificate and key. You can also use your own HTTPS certificates & keys rather than using Let’s Encrypt. You can find the new instructions here.
Authenticators allow you to control who has access to your JupyterHub. The following new authentication providers have been added in 0.5:
You can now also set up a whitelist of usernames that have access to the hub (in addition to other authenticators in use). Do so by adding to the list in
Hub Services support
Services let you connect your JupyerHub to other web services (for example, in mybinder.org). You can now add external JupyterHub Services by adding them to
hub.services. Note that you are still responsible for actually running the service somewhere (perhaps as a deployment object in Kubernetes).
More customization with
Sometimes it is useful to be able to run arbitrary extra code when setting up your deployment. You can put extra snippets of
jupyterhub_config.py configuration in
hub.extraConfig. Now you can also add extra environment variables to the hub in
hub.extraEnv and extra configmap items via
hub.extraConfigMap. This makes it cleaner to customize the hub's configuration in ways that are not yet possible with
config.yaml. You can find more information in the documentation.
More customization options for user server environments
More options have been added under
singleuser to help you customize the environment that the user session is spawned in. You can…
- Change the uid / gid of the user with
- Mount extra volumes with
- Provide extra environment variables with
*Hamid Hassan is a fast bowler who currently plays for the Afghanistan National Cricket Team. With nicknames ranging from “Afghanistan’s David Beckham” to “Rambo”, he is considered by many to be Afghanistan’s first Cricket Superhero. Currently known for fast (145km/h+) deliveries, cartwheeling celebrations, war painted face and having had to flee Afghanistan as a child to escape from war. He says he plays because “We are ambassadors for our country and we want to show the world that Afghanistan is not like people recognize it by terrorists and these things. We want them to know that we have a lot of talent as well.”