<p>I am currently deploying <a href="https://airflow.apache.org/" rel="nofollow noreferrer">Apache Airflow</a> on K8s (on EKS). I have managed to successfully deploy an Ingress Controller (used <a href="https://github.com/kubernetes-sigs/aws-load-balancer-controller" rel="nofollow noreferrer">AWS Load Balancer Controller</a>) and an ingress, and I can access the ingress through the internet. My objective is to be able to access the host and a path rather than the address.</p>
<p>In other words, right now to access the web-server I need to input an address like: <code>internal-k8s-airflow-deployment-aws-region.elb.amazonaws.com</code>. My goal is to access it using something like: <code>meow.myimaginarywebsite.com/airflow</code>.</p>
<h2>What I have tried to do</h2>
<p>I am using <a href="https://github.com/airflow-helm/charts/tree/main/charts/airflow" rel="nofollow noreferrer">stable airflow Helm chart</a> (not particularly looking for an answer referencing the chart), and I have modified the values for the web-server like:</p>
<pre class="lang-yaml prettyprint-override"><code>web:
    ## annotations for the web Ingress
    annotations:
      kubernetes.io/ingress.class: &quot;alb&quot;
      alb.ingress.kubernetes.io/target-type: &quot;ip&quot;

    labels: { }

    ## the path for the web Ingress
    path: &quot;/airflow&quot;

    ## the hostname for the web Ingress
    host: &quot;meow.myimaginarywebsite.com&quot;
    livenessPath: &quot;&quot;

    tls:
      enabled: false
</code></pre>
<p>Running <code>kubectl get ingress -n dp-airflow</code> I get:</p>
<pre><code>NAME             CLASS    HOSTS                      ADDRESS                                                                               PORTS   AGE
airflow-web      &lt;none&gt;   meow.myimaginarywebsite.com   internal-k8s-airflow-deployment-aws-region.elb.amazonaws.com   80      141m
</code></pre>
<p>I have tried curling <code>meow.myimaginarywebsite.com</code> or <code>meow.myimaginarywebsite.com/airflow</code> but got: <code>Could not resolve host: meow.myimaginarywebsite.com/airflow</code></p>
<p>For more context, It's worth mentioning that <code>meow.myimaginarywebsite.com</code> is a hosted zone. For example, running <code>aws route53 list-hosted-zones</code> I get (I also verified that these hosted zones are associated with the VPC I am deploying EKS on):</p>
<pre><code>{
    &quot;HostedZones&quot;: [
        {
            &quot;Id&quot;: &quot;/hostedzone/ABCEEIAMAREDACTEDIDEEE&quot;,
            &quot;Name&quot;: &quot;meow.myimaginarywebsite.com.&quot;,
            &quot;CallerReference&quot;: &quot;terraform-2012012012012&quot;,
            &quot;Config&quot;: {
                &quot;Comment&quot;: &quot;Managed by Terraform&quot;,
                &quot;PrivateZone&quot;: true
            },
            &quot;ResourceRecordSetCount&quot;: 3
        }
    ]
}
</code></pre>
<p>It's worth mentioning that I am new to this task, so I would benefit the most from a conceptual understanding of what I need to do or guidance to be on the right track. To re-state my objective, I basically want to be able to put something like <code>meow.myimaginarywebsite.com/airflow</code> into the browser and then be able to connect to the webserver, rather than something like: <code>internal-k8s-airflow-deployment-aws-region.elb.amazonaws.com</code>. I am also happy to provide further details.</p>

<p>First of all, you need to add A or ALIAS record to Route 53 zone like that:</p>
<p><code>meow.myimaginarywebsite.com</code> --&gt; <code>internal-k8s-airflow-deployment-aws-region.elb.amazonaws.com</code></p>
<p>After that at least you should be fine with DNS resolution.</p>
