github.com/pachyderm/pachyderm@v1.13.4/doc/docs/master/deploy-manage/manage/expose-pach-ui-ingress.md (about)

     1  # Expose the Pachyderm UI Through an Ingress Resource
     2  
     3  Before completing the steps in this section, read [Overview](../configure-external-access/).
     4  
     5  A Kubernetes Ingress enables you to allow external traffic inside
     6  of a Pachyderm cluster. Specifically, if you do not want to use
     7  port-forwarding, you might want to expose the Pachyderm UI, `dash`
     8  through an Ingress resource. To do so, you need to deploy an ingress
     9  controller and ingress resource object on the Kubernetes cluster that
    10  runs your Pachyderm cluster. While Kubernetes supports multiple ingress
    11  controllers, not all of them might work seamlessly with Pachyderm.
    12  See [Pachyderm Ingress Requirements](../configure-external-access/#pachyderm-ingress-requirements/) for more information.
    13  
    14  In addition, follow these recommendations:
    15  
    16  * Follow the recommendations in [the Traefik Kubernetes installation documentation](https://docs.traefik.io/v1.7/user-guide/kubernetes/#deploy-traefik-using-a-deployment-or-daemonset)  that are appropriate for your situation
    17  for installing Traefik.
    18  * You can deploy the `Ingress` resource in any namespace.
    19  * You need to have administrative access to the hostname that you
    20  specify in the `hostname` field in the `Ingress` resource `.yaml`.
    21  * Do not create routes (`paths`) with `pachd` services or S3 services
    22  in the `Ingress` resource `.yaml`.
    23  
    24  This section provides an example of how to deploy a Traefik ingress
    25  controller in minikube.
    26  
    27  !!! note
    28      If you cannot use Traefik, you can try to deploy another ingress
    29      controller, such as NGINX, using the provided example.
    30  
    31  To expose the Pachyderm UI through a Traefik resource, complete
    32  the following steps:
    33  
    34  1. Deploy a Pachyderm cluster to a cloud provider of your choice as
    35  described in [Deploy Pachyderm](../../deploy/).
    36  For production deployments, deploy with the `--tls` flag.
    37  1. Enable authentication as described in [Configure Access Controls](../../../enterprise/auth/auth/).
    38  1. Deploy the Traefik ingress controlleri as described in the [Traefik Documentation](https://docs.traefik.io/v1.7/user-guide/kubernetes/):
    39  
    40     **Note:** The commands below deploy an example Traefik ingress.
    41     For the latest version of Traefik controller, see the
    42     Traefik documentation.
    43  
    44     ```shell
    45     kubectl apply -f https://raw.githubusercontent.com/pachyderm/pachyderm/master/examples/traefik-ingress/roles.yaml
    46     kubectl apply -f https://raw.githubusercontent.com/pachyderm/pachyderm/master/examples/traefik-ingress/traefik-daemonset.yaml
    47     ```
    48  
    49  1. Deploy the Ingress resource. The following text is an example
    50  metadata file. You need to adjust it to your deployment:
    51  
    52     <script src="https://gist.github.com/svekars/9c665571b665bbd999e050cb829adf2e.js"></script>
    53  
    54     Make sure that you modify the following parameters:
    55  
    56     * `hostname` — an address at which the Pachyderm UI will be
    57     available. For example, `example.com`.
    58     * `port` — the ports on which the `grpc-proxy` and the `dash`
    59     application will run. It can be the same or different ports.
    60  
    61     When done editing, save the file and run:
    62  
    63     ```shell
    64     kubectl apply -f traefik-ingress-minikube.yaml
    65     ```
    66  
    67     After you deploy the Traefik ingress, the Pachyderm service
    68     should be available at the `<hostname>:<port>` that you have
    69     specified.