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.