How to run a notebook as root

Prev Next

Kubeflow by default runs notebook servers as a non-root user. It is sometimes useful to have root access to the notebook to be able to install additional dependencies. Users are able to use kubectl to modify their notebook servers.

Warning

This operation is destructive and will restart your notebook server. Any files not stored in /home/jovyan or /home/jovyan/shared will be reset to the notebook defaults, including any manually installed Python packages.

To get root access, open a Terminal and enter this command:

kubectl patch notebook $(echo $NB_PREFIX | cut -d'/' -f4) --type=json --patch '[{"op": "add", "path": "/spec/template/spec/securityContext", "value": {"runAsNonRoot": false, "runAsUser": 0}}]'

To restore non-root access:

kubectl patch notebook $(echo $NB_PREFIX | cut -d'/' -f4) --type=json --patch '[{"op": "remove", "path": "/spec/template/spec/securityContext"}]'