github.com/pachyderm/pachyderm@v1.13.4/doc/docs/1.10.x/deploy-manage/deploy/deploy-pachyderm-jupyterhub.md (about) 1 # Deploy Pachyderm with JupyterHub 2 3 !!! note 4 JupyterHub integration with Pachyderm is an 5 enterprise feature. Contact sales@pachyderm.com 6 to request enabling JupyterHub integration 7 for your Pachyderm Enterprise license. 8 9 JupyterHub is an open-source platform that enables you 10 to spin multiple instances of single-user Jupyter notebook 11 servers on-demand for each member of your team. 12 This way, each user gets a personal notebook server. 13 14 You can deploy JupyterHub alongside Pachyderm 15 on the same Kubernetes cluster and use Pachyderm authentication 16 and [Pachyderm Python client library](https://github.com/pachyderm/python-pachyderm) 17 with JupyterHub. 18 By using Pachyderm authentication, you can log in to JupyterHub with 19 your Pachyderm credentials. In essence, you run your code 20 in JupyterHub and use the `python-pachyderm` API to create your 21 pipelines and version your data in Pachyderm from within 22 the JupyterHub UI. 23 24 The following diagram shows the Pachyderm and JupyterHub deployment. 25 26  27 28 In the diagram above, you can see that Pachyderm and JupyterHub are 29 deployed on the same Kubernetes cluster. You deploy Pachyderm by 30 using the pachctl `deploy command` and JupyterHub by running 31 our deployment script as described below. After deployment, you log in 32 to JupyterHub with your Pachyderm user and interact with Pachyderm 33 from within the Jupyter UI by using Pachyderm Python client. 34 35 ## Prerequisites 36 37 Before you can deploy JupyterHub with `python-pachyderm`, you need to 38 install Pachyderm on a supported Kubernetes platform and configure 39 other prerequisites listed below. 40 41 ### Deploy Pachyderm 42 43 You need to deploy Pachyderm as described in 44 [Deploy Pachyderm](../../deploy/) 45 in of the supported platforms: 46 47 - Google Kubernetes Engine (GKE) with Kubernetes v1.13 48 - Amazon Elastic Container Service (EKS) with Kubernetes v1.13 49 - Docker Desktop for Mac with Kubernetes v1.14 50 51 !!! note 52 Kubernetes v1.16 is not supported, including Minikube deployments. 53 If you already have a local Pachyderm deployed with Kubernetes v1.16, 54 you might not be able to deploy JupyterHub on the same Kubernetes 55 cluster by using the Jupyter deployment script. 56 57 For more information about JupyterHub requirements for Kubernetes, 58 see [Zero to JupyterHub with Kubernetes](https://zero-to-jupyterhub.readthedocs.io/en/latest/). 59 60 ### Enable Pachyderm Access Controls (Optional) 61 62 You can enable Pachyderm access controls to use Pachyderm credentials 63 to log in to JupyterHub. However, this 64 is not required, and if you prefer to use JupyterHub authentication 65 instead, skip this section. 66 67 Pachyderm Access Controls is an enterprise feature. You need to have 68 an active Enterprise token to enable it. 69 70 To enable Pachyderm authentication, follow the steps in 71 [Configure Access Controls](https://docs.pachyderm.com/latest/enterprise/auth/auth/) 72 73 !!! note 74 If you decide to enable Pachyderm authentication later, you 75 will need to either manually reconfigure or redeploy JupyterHub. 76 Your existing notebooks will be preserved after 77 the redeploy. 78 79 ### Install Helm 80 81 Helm is a package manager for Kubernetes that controls the JupyterHub 82 installation. Our deployment script requires Helm 3 or later. 83 84 To install Helm on your client machine, follow the steps in the 85 [Helm Documentation](https://helm.sh/docs/intro/install/). 86 87 ## Deploy JupyterHub 88 89 After you deploy Pachyderm in one of the supported environments and 90 install Helm on your client machine, you can use the deployment script 91 to deploy JupyterHub. 92 93 To deploy JupyterHub, complete the following steps: 94 95 <!--1. Clone the [jupyterhub-pachyderm](https://github.com/pachyderm/jupyterhub-pachyderm) 96 repository: 97 98 ```shell 99 git clone git@github.com:pachyderm/jupyterhub-pachyderm.git 100 ``` 101 102 1. Change the current directory to `jupyterhub-pachyderm/`: 103 104 ```shell 105 cd jupyterhub-pachyderm 106 ``` 107 --> 108 1. Run the `./init.py` script: 109 110 ```shell 111 ./init.py 112 ``` 113 114 **System response:** 115 116 ``` 117 ===> checking dependencies are installed 118 ... 119 ===> installing jupyterhub 120 Release "jhub" does not exist. Installing it now. 121 NAME: jhub 122 LAST DEPLOYED: Wed Dec 18 13:09:26 2019 123 NAMESPACE: default 124 STATUS: deployed 125 REVISION: 1 126 TEST SUITE: None 127 NOTES: 128 Thank you for installing JupyterHub! 129 ... 130 ===> notes 131 - Since Pachyderm auth doesn't appear to be enabled, JupyterHub will expect the following global password for users: XXXXXXXXXXXXXXXXXXXXX 132 ``` 133 134 JupyterHub is now deployed on your Kubernetes cluster. 135 136 ## Log in to JupyterHub 137 138 After you deploy JupyterHub, you can access the JupyterHub UI 139 in a web browser through the Pachyderm cluster hostname on port 140 `80`. 141 142 If you have enabled Pachyderm access controls, use your Pachyderm 143 token to log in. Otherwise, use the global password 144 that was printed out in the terminal window when you ran the 145 `./init.py` script. You can use any arbitrary username. 146 147 If you access your Kubernetes cluster through a firewall, verify that 148 you can access your cluster on port 80. For more information, see 149 the documentation for your cloud platform in 150 [Zero to JupyterHub with Kubernetes](https://zero-to-jupyterhub.readthedocs.io/en/latest/create-k8s-cluster.html). 151 152 !!! note "See Also:" 153 - [Use JupyterHub](../../how-tos/use-jupyterhub/index.md)