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  ![JupyterHub and Pachyderm Architecture Overview](../../assets/images/d_jupyterhub-pachyderm-arch.svg)
    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)