JupyterHub authentifié et personnalisable
Deux instances publiques sont disponibles :
Cette instance est disponible dans une configuration complète :
- authentification basée sur les utilisateurs de PLMshift (toute personne de la communauté mathématique française)1
- un stockage individuel de 2Gi
- des NoteBooks supplémentaires (Sage, R, TensorFlow, SciPy).
Vous pouvez aussi déployer votre propre instance de JupyterHub adaptée à vos besoins en suivant les instructions ci-dessous. Elle utilisera l'opérateur OpendataHub adapté à la PLM qui intègre les mécanismes d'authentification via PLMshift ou via la Fédération RENATER, ainsi que la gestion d'un stockage persistant par utilisateur.
Créer une instance de jupyterhub via la console Web
Cette instance utilisera une authentification des utilisateurs via PLMshift. Pour avoir une instance authentifié sur la Fédération RENATER, contactez le support de la PLM afin de demander les autorisations (voir OIDC_CLIENT et OIDC_SECRET plus loin).
- Créez un projet
- Choisissez le template JupyterHub on PLMshift dans le Catalog
- Donnez un nom d'hôte complet pour JUPYTERHUB_HOST (comme par exemple
mon-jupyter.apps.math.cnrs.fr
). Si vous souhaiter ne pas être dans le domainemon-jupyter.apps.math.cnrs.fr
, contactez le support de la PLM afin d'obtenir le routage de votre domaine vers PLMshift - Listez les emails des administrateur de jupyterhub dans le champ JUPYTERHUB_ADMINS (au moins le votre, mais c'est facultatif)
- Si vous ne souhaitez pas ouvrir largement votre instance jupyterhub, laissez vide OIDC_CLIENT et OIDC_SECRET
En ligne de commandes
Pour afficher les paramètre disponibles :
oc process --parameters jupyterhub-odh -n openshift
Pour instancier JupyterHub :
- Créez un projet
- Générez l'application
oc new-app jupyterhub-odh \
-p APPLICATION_NAME=monjupyterhub \
-p JUPYTERHUB_HOST=mon-jupyter.apps.math.cnrs.fr
Customisation de la configuration
En ligne de commande
oc edit kfdef
Via la console PLMshift
Allez dans Home puis Search et sur Resources tapez Kfdef dans le formulaire de recherche, vous pourrez alors éditer les paramètres de votre instance.
Exploiter les GPU
PLMshift accueille 2 serveurs équipés chacun de 2 cartes Nividia A100, segmentées en 7 cartes virtuelles (pour un total de 28 cartes GPU).
Pour activer la selection du nombre de Gpu utilisables dans le notebook GPU, fixer la valeur gpu_enabled à 'true' dans votre kfdef
comme ci-dessous :
- Dans la rubrique
jupyterhub/jupyterhub
:
- kustomizeConfig:
overlays:
- storage-class
- plm
parameters:
...
- name: gpu_enabled
value: 'true'
repoRef:
name: manifests
path: jupyterhub/jupyterhub
Des noyaux de Notebooks GPU sont disponibles, pour les faire apparaître sur votre instance JupyterHub, éditez votre kfdef
de la façon suivante :
- Dans la rubrique
jupyterhub/notebook-images
:
- kustomizeConfig:
overlays:
...
- cuda-plmshift
repoRef:
name: manifests
path: jupyterhub/notebook-images
name: notebook-images
Utiliser une authentification basée sur la Fédération RENATER
Il est possible d'utiliser la Fédération RENATER comme source d'authentification, pour cela vous devrez renseigner trois paramètres (oidc_federation, oidc_client_id et oidc_secret_key) dans la configuration de votre KfDef
parameters:
- name: oidc_client_id
value: ClientID
- name: oidc_secret_key
value: SecretKey
- name: oidc_federation
value: true
Pour obtenir les valeurs de ClientId
et SecretKey
merci de contacter le support de la PLM en fournissant l'URL de votre instance JupyterHub.
Restreindre l'accès à certains utilisateurs
La restriction d'accès à une liste d'utilisateur n'est pas encore disponible.
-
JupyterHub vient avec des extensions permettant de s'authentifier via différentes sources. ↩