<p>I have created a new reserved static IP in my GCP.
See the screenshot marker <strong>1.</strong>
<a href="https://i.stack.imgur.com/DlBa8.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/DlBa8.png" alt="enter image description here"></a>
However my ingress resource is still using the generated ip (screenshot marker <strong>2.</strong>)</p>

<p>In the Ingress' YAML file you can see I annotated the static-ip name.</p>

<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/backends: '{"k8s-be-31465--b5c10175cf4f125b":"HEALTHY"}'
    ingress.kubernetes.io/forwarding-rule: k8s-fw-default-teamcity--b5c10175cf4f125b
    ingress.kubernetes.io/target-proxy: k8s-tp-default-teamcity--b5c10175cf4f125b
    ingress.kubernetes.io/url-map: k8s-um-default-teamcity--b5c10175cf4f125b
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"kubernetes.io/ingress.global-static-ip-name":"teamcity-static-ip"},"name":"teamcity","namespace":"default"},"spec":{"backend":{"serviceName":"teamcity","servicePort":8111}}}
    kubernetes.io/ingress.global-static-ip-name: teamcity-static-ip
  creationTimestamp: "2019-11-12T13:57:41Z"
  generation: 1
  name: teamcity
  namespace: default
  resourceVersion: "3433973"
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/teamcity
  uid: 6484482e-0554-11ea-af7d-42010a8400aa
spec:
  backend:
    serviceName: teamcity
    servicePort: 8111
status:
  loadBalancer:
    ingress:
    - ip: 35.190.86.15
</code></pre>

<p>That's why I am confused why it is not assigning it to the Ingress resource as expected.</p>

<p>It's in the name of the annotation: <code>kubernetes.io/ingress.global-static-ip-name</code> , this works only with global IP.</p>

<p>And if you look at the screen your ip is a regional one: <code>europe-west-1</code>.</p>

<p>Create a global IP, delete and recreate the ingress and it should work ;)</p>
