<p>I have followed the instructions (<a href="https://cloud.google.com/container-engine/docs/tutorials/http-balancer" rel="nofollow">https://cloud.google.com/container-engine/docs/tutorials/http-balancer</a>, and <a href="http://kubernetes.io/docs/user-guide/ingress/" rel="nofollow">http://kubernetes.io/docs/user-guide/ingress/</a>) to create an Ingress resource for my Kubernetes Service - my cluster is deployed within Google Container Engine (GKE).</p>

<p>I understand that the Ingress controller will automatically allocate an external/public IP for me, but this is not exactly what I need. Am I able to decide what IP I want? I have a domain name and a static IP which I would like to use instead of the one assigned by the Ingress controller.</p>

<p>Hopefully this can be defined inside the json/yaml configuration file for the Ingress resource. This is my preferred way to create resources as I can keep track of the state of the created resources (rather than using <code>kubectl edit</code> from command line to edit my way to the preferred state).</p>

<blockquote>
  <p>I understand that the Ingress controller will automatically allocate an external/public IP for me, but this is not exactly what I need. Am I able to decide what IP I want?</p>
</blockquote>

<p>You can ask Google for a static global IP address, which can then be used for your L7 load balancing (you would point your DNS name to this IP). There isn't a way to bring your own IP address into a google L7 load balancer (either directly or using the Ingress object). </p>
