2018/06/27 10:19

# JupyterHub on Kubernetes-- Helm Chart简介

JupyterHub 使得对多个用户提供不同的Jupyter服务实例成为可能（Jupyter本身已经可以让多个用户使用同一个实例，而且共享里面的数据和代码）。通过 JupyterHub Helm Chart，可以进一步安装到 kubernetes 中去运行，从而使JupyterHub 具有更好的伸缩性、稳定性和灵活性，甚至于可以在同一个集群中运行多个隔离的JupyterHub环境，方便地进行数据探索和模型测试，快速进行环境迁移部署，支持运行资源的调配和状态监控。

### 新特性

#### JupyterHub 0.8

JupyterHub 0.8 包含了很多新特性，其中很多得益于JupyterHub到 Kubernetes的部署，下面是与 Helm Chart configuration 有关的说明：

1. Lots of performance improvements. We now know we can handle up to 4k active users.
2. 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 hub.concurrentSpawnLimit.
3. 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 hub.activeServerLimit.
4. Memory limits & guarantees can now contain fractional units. So you can say 0.5G instead of having to use 512M.
5. 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.

#### Easier HTTPS

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.

#### More authenticators

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 auth.whitelist.users.

#### 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 jupyterhub_config.py

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 singleuser.uid and singleuser.fsGid
• Mount extra volumes with singleuser.storage.extraVolumes & singleuser.storage.extraVolumeMounts
• Provide extra environment variables with singleuser.extraEnv.

*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.”

0
0 收藏

0 评论
0 收藏
0