<p>I used to work with Openshift/OKD cluster deployed in AWS and there it was possible to connect cluster to some domain name from Route53. Then as soon as I was deploying ingress with some hosts mappings (and the hosts defined in ingres were subdomains of the basis domain) all necessary lb rules (Routes in Openshift) and subdomain itself were created by Openshift and were directly available. For example: Openshift is connected to domain &quot;somedomain.com&quot; which is registered in Route53. In ingress I have the host mapping like:</p>
<pre><code>  hosts:
    - host: sub1.somedomain.com
      paths:
        - path
</code></pre>
<p>After deployment I can reach sub1.somedomain.com. Is this kind of functionality available in GKE?
So far I have seen only mapping to static IP.</p>
<p>Also I red here <a href="https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-http2" rel="nofollow noreferrer">https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-http2</a> that if I need to connect service with ingress, the service have to be of type NodePort. Is it realy so? In Openshift it was not required any normal ClusterIP service could be connected to ingress.</p>
<p>Thanks in advance!</p>

Dmitri Zamysloff
<p>I think you should consider the other <a href="https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/" rel="nofollow noreferrer">Ingress Controllers</a> for your use cases.</p>
<p>I'm not an expert of the GKE, but as I can see <a href="https://cloud.google.com/kubernetes-engine/docs/best-practices/enterprise-multitenancy#load-balancing" rel="nofollow noreferrer">Best practices for enterprise multi-tenancy</a> as follows,
you need to consider how to route the multiple Ingress hostnames through wildcard subdomain like the OpenShift additionally.</p>
<pre><code>Set up HTTP(S) Load Balancing with Ingress
:
You can create and configure an HTTP(S) load balancer by creating a Kubernetes Ingress resource, 
which defines how traffic reaches your Services and how the traffic is routed to your tenant's application. 
By registering Services with the Ingress resource, the Services' naming convention becomes consistent, 
showing a single ingress, such as tenanta.example.com and tenantb.example.com.
</code></pre>
<p>The routing feature depends on the <a href="https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/" rel="nofollow noreferrer">Ingress Controllers</a> basically.
In my finding, the default Ingress Controllers of the GKE just creates a Google Cloud HTTP(S) Load Balancer, but it does not consider multi-tenancy by default like the OpenShift.</p>
<p>In contrast, in the OpenShift, the Ingress Controller was implemented using HAProxy with dynamic configuration feature as follows.</p>
<pre><code>LB -tenanta.example.com--&gt; HAProxy(directly forward the tenanta.example.com traffic to the target pod IPs) ---&gt; Target Pods
</code></pre>
