Hi all -- has anyone figured out how to deploy pre...
# prefect-kubernetes
s
Hi all -- has anyone figured out how to deploy prefect orion using an ingress via the helm chart? I am trying to deploy prefect 2 on EKS using the helm chart here. I want to expose the server UI by modifying the
ingress
section of the helm chart. I was able to figure it out for prefect 1, but struggling with prefect2. With the below
values.yml
I get a blank page when I navigate to https://prefect2.xxx.yyy.zzz/api or https://prefect2.xxx.yyy.zzz-- no UI shows up. The ALB seems healthy (I can
dig
it) so I think the issue might be around the publicApiUrl. Here's what my helm chart values.yml looks like:
Copy code
server:
  publicApiUrl: "<https://prefect2.xxx.yyy.zzz/api>"
postgresql:
  auth:
    password: <password>
ingress:
  enabled: true
  className: "alb"
  host:
    hostname: "prefect2.xxx.yyy.zzz"
  tls: true
  annotations: 
    <http://alb.ingress.kubernetes.io/scheme|alb.ingress.kubernetes.io/scheme>: "internet-facing"
    <http://alb.ingress.kubernetes.io/target-type|alb.ingress.kubernetes.io/target-type>: "ip"
    <http://alb.ingress.kubernetes.io/listen-ports|alb.ingress.kubernetes.io/listen-ports>: '[{"HTTPS":443}]'
    <http://alb.ingress.kubernetes.io/certificate-arn|alb.ingress.kubernetes.io/certificate-arn>: <aws certificate arn>
Any guidance would be much appreciated, thanks!
Resolved by setting the path/pathType fields. Here's the config that ended up working for me:
Copy code
server:
  publicApiUrl: "<https://prefect2.xxx.yyy.zzz/api>"
postgresql:
  auth: 
    password: <password>
ingress:
  enabled: true
  host:
    hostname: "prefect2.xxx.yyy.zzz"
    path: "/"
    pathType: "Prefix"
  annotations:
    <http://alb.ingress.kubernetes.io/scheme|alb.ingress.kubernetes.io/scheme>: "internet-facing"
    <http://kubernetes.io/ingress.class|kubernetes.io/ingress.class>: "alb"
    <http://alb.ingress.kubernetes.io/target-type|alb.ingress.kubernetes.io/target-type>: "ip"
    <http://alb.ingress.kubernetes.io/listen-ports|alb.ingress.kubernetes.io/listen-ports>: '[{"HTTPS":443}]'
    <http://alb.ingress.kubernetes.io/certificate-arn|alb.ingress.kubernetes.io/certificate-arn>: <cert arn>
🙌 1