Polyaxon provides support for an Ingress resource compatible with the NGINX stable helm chart or a customized NGINX ingress controller.
Install Nginx Ingress
In order to use NGINX Ingress controller with Polyaxon, you need to install the controller w/o RBAC depending on your cluster:
helm repo add nginx-stable https://helm.nginx.com/stable
helm install nginx nginx-stable/nginx-ingress -n polyaxon
Enable ingress in your Polyaxon’s config deployment
ingress:
enabled: true
[Optional] Set a host name
ingress:
enabled: true
hostName: polyaxon.acme.com
[Optional] Set tls to serve Polyaxon on HTTPS
ingress:
enabled: true
hostName: polyaxon.acme.com
tls:
- secretName: polyaxon.acme-tls
hosts:
- polyaxon.acme.com
Annotations
Note: Depending on your version of nginx ingress you may need to prepend
nginx.
to the annotations. E.g.:nginx.ingress.kubernetes.io/proxy-body-size: 4G # instead of ingress.kubernetes.io/proxy-body-size: 4G
Polyaxon’s ingress resource can be customized by providing annotations, we recommend the following annotations
ingress:
annotations:
ingress.kubernetes.io/rewrite-target: /
ingress.kubernetes.io/add-base-url: "true"
If you are using the ingress without a tls, you need to set
ingress:
annotations:
ingress.kubernetes.io/ssl-redirect: "false"
Also to allow the platform to upload/download large files you need to
ingress:
annotations:
ingress.kubernetes.io/proxy-connect-timeout: "600"
ingress.kubernetes.io/proxy-read-timeout: "600"
ingress.kubernetes.io/proxy-send-timeout: "600"
ingress.kubernetes.io/send-timeout: "600"
ingress.kubernetes.io/proxy-body-size: 4G
You might also need to specify the class
ingress:
annotations:
kubernetes.io/ingress.class: nginx
ConfigMap for the controller
In addition to the previous annotations, you may need to update the controller’s config map:
data:
ssl-redirect: "false"